summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ABOUT-NLS1477
-rw-r--r--ChangeLog7
-rw-r--r--common/ChangeLog5
-rw-r--r--common/estream.c3
-rw-r--r--configure.ac24
-rw-r--r--g10/ChangeLog21
-rw-r--r--g10/keygen.c22
-rw-r--r--g10/keyid.c3
-rw-r--r--g10/misc.c4
-rw-r--r--g10/pubkey-enc.c5
-rw-r--r--g10/seckey-cert.c10
-rw-r--r--g10/seskey.c20
-rw-r--r--intl/ChangeLog4
-rw-r--r--intl/Makefile.in123
-rw-r--r--intl/VERSION2
-rw-r--r--intl/bindtextdom.c48
-rwxr-xr-xintl/config.charset82
-rw-r--r--intl/dcgettext.c2
-rw-r--r--intl/dcigettext.c909
-rw-r--r--intl/dcngettext.c2
-rw-r--r--intl/dgettext.c2
-rw-r--r--intl/dngettext.c2
-rw-r--r--intl/eval-plural.h2
-rw-r--r--intl/explodename.c108
-rw-r--r--intl/finddomain.c76
-rw-r--r--intl/gettext.c2
-rw-r--r--intl/gettextP.h142
-rw-r--r--intl/gmo.h2
-rw-r--r--intl/hash-string.h34
-rw-r--r--intl/intl-compat.c8
-rw-r--r--intl/l10nflist.c99
-rw-r--r--intl/libgnuintl.h.in68
-rw-r--r--intl/loadinfo.h65
-rw-r--r--intl/loadmsgcat.c249
-rw-r--r--intl/localcharset.c109
-rw-r--r--intl/localcharset.h2
-rw-r--r--intl/locale.alias2
-rw-r--r--intl/localealias.c123
-rw-r--r--intl/localename.c1195
-rw-r--r--intl/log.c34
-rw-r--r--intl/ngettext.c2
-rw-r--r--intl/os2compat.c2
-rw-r--r--intl/os2compat.h2
-rw-r--r--intl/osdep.c8
-rw-r--r--intl/plural-exp.c6
-rw-r--r--intl/plural-exp.h6
-rw-r--r--intl/plural.c54
-rw-r--r--intl/plural.y14
-rw-r--r--intl/printf-args.c31
-rw-r--r--intl/printf-args.h2
-rw-r--r--intl/printf-parse.c2
-rw-r--r--intl/printf-parse.h2
-rw-r--r--intl/printf.c12
-rw-r--r--intl/ref-add.sin2
-rw-r--r--intl/ref-del.sin2
-rw-r--r--intl/relocatable.c55
-rw-r--r--intl/relocatable.h8
-rw-r--r--intl/textdomain.c22
-rw-r--r--intl/vasnprintf.c69
-rw-r--r--intl/vasnprintf.h23
-rw-r--r--intl/vasnwprintf.h2
-rw-r--r--intl/wprintf-parse.h2
-rw-r--r--intl/xsize.h2
-rw-r--r--keyserver/ChangeLog4
-rw-r--r--keyserver/curl-shim.c4
-rw-r--r--m4/ChangeLog5
-rw-r--r--m4/Makefile.am2
-rw-r--r--m4/codeset.m48
-rw-r--r--m4/gettext.m4260
-rw-r--r--m4/glibc21.m414
-rw-r--r--m4/gnupg-pth.m42
-rw-r--r--m4/iconv.m48
-rw-r--r--m4/intdiv0.m48
-rw-r--r--m4/intmax.m418
-rw-r--r--m4/inttypes-pri.m416
-rw-r--r--m4/inttypes_h.m422
-rw-r--r--m4/lcmessage.m420
-rw-r--r--m4/lib-ld.m48
-rw-r--r--m4/lib-link.m4109
-rw-r--r--m4/lib-prefix.m452
-rw-r--r--m4/longdouble.m415
-rw-r--r--m4/longlong.m414
-rw-r--r--m4/nls.m432
-rw-r--r--m4/po.m4112
-rw-r--r--m4/printf-posix.m48
-rw-r--r--m4/progtest.m415
-rw-r--r--m4/signed.m48
-rw-r--r--m4/size_max.m455
-rw-r--r--m4/stdint_h.m422
-rw-r--r--m4/uintmax_t.m422
-rw-r--r--m4/ulonglong.m414
-rw-r--r--m4/wchar_t.m48
-rw-r--r--m4/wint_t.m48
-rw-r--r--m4/xsize.m413
-rw-r--r--po/Makefile.in.in81
-rw-r--r--po/be.po193
-rw-r--r--po/ca.po198
-rw-r--r--po/cs.po198
-rw-r--r--po/da.po193
-rw-r--r--po/de.po209
-rw-r--r--po/el.po198
-rw-r--r--po/eo.po198
-rw-r--r--po/es.po198
-rw-r--r--po/et.po198
-rw-r--r--po/fi.po198
-rw-r--r--po/fr.po198
-rw-r--r--po/gl.po198
-rw-r--r--po/hu.po198
-rw-r--r--po/id.po198
-rw-r--r--po/it.po198
-rw-r--r--po/ja.po198
-rw-r--r--po/nb.po198
-rw-r--r--po/pl.po198
-rw-r--r--po/pt.po198
-rw-r--r--po/pt_BR.po193
-rw-r--r--po/ro.po198
-rw-r--r--po/ru.po948
-rw-r--r--po/sk.po198
-rw-r--r--po/sv.po198
-rw-r--r--po/tr.po208
-rw-r--r--po/zh_CN.po198
-rw-r--r--po/zh_TW.po198
-rw-r--r--scd/ChangeLog7
-rw-r--r--scd/Makefile.am8
-rw-r--r--scd/apdu.c2
-rw-r--r--scd/pcsc-wrapper.c2
-rwxr-xr-xscripts/config.rpath194
-rw-r--r--sm/ChangeLog5
-rw-r--r--sm/certdump.c9
-rw-r--r--sm/certreqgen.c2
-rw-r--r--tools/ChangeLog4
-rw-r--r--tools/gpgconf-comp.c2
132 files changed, 7298 insertions, 5453 deletions
diff --git a/ABOUT-NLS b/ABOUT-NLS
index 2f50c6693..3575535a8 100644
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,10 +1,11 @@
-Notes on the Free Translation Project
-*************************************
+1 Notes on the Free Translation Project
+***************************************
Free software is going international! The Free Translation Project is
a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
@@ -15,15 +16,15 @@ this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
+work on translations can contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
-Quick configuration advice
-==========================
+1.1 Quick configuration advice
+==============================
If you want to exploit the full power of internationalization, you
should configure it using
@@ -45,8 +46,8 @@ to change to GNU `gettext' as soon as possible.
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
-INSTALL Matters
-===============
+1.2 INSTALL Matters
+===================
Some packages are "localizable" when properly installed; the programs
they contain can be made to speak your own native language. Most such
@@ -55,27 +56,27 @@ internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
+provides the GNU `gettext' functions. If not, the included GNU
+`gettext' library will be used. This library is wholly contained
+within this package, usually in the `intl/' subdirectory, so prior
+installation of the GNU `gettext' package is _not_ required.
+Installers may use special options at configuration time for changing
+the default behaviour. The commands:
./configure --with-included-gettext
./configure --disable-nls
-will respectively bypass any pre-existing `gettext' to use the
+will, respectively, bypass any pre-existing `gettext' to use the
internationalizing routines provided within this package, or else,
_totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
+will decide to use this. This might not be desirable. You should use
+the more recent version of the GNU `gettext' library. I.e. if the file
+`intl/VERSION' shows that the library which comes with this package is
+more recent, you should use
./configure --with-included-gettext
@@ -86,7 +87,7 @@ and therefore it will not be used. The reason is that even an
emulation of `gettext' on top of `catgets' could not provide all the
extensions of the GNU `gettext' library.
- Internationalized packages have usually many `po/LL.po' files, where
+ Internationalized packages usually have many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
@@ -95,8 +96,8 @@ may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
-Using This Package
-==================
+1.3 Using This Package
+======================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
@@ -117,8 +118,8 @@ country code serves to distinguish the dialects.
language and `CC' denoting the country, is the one use on systems based
on GNU libc. On other systems, some variations of this scheme are
used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
+locales supported by your system for your language by running the
+command `locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
@@ -144,8 +145,8 @@ to denote the language's main dialect. For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
-Translating Teams
-=================
+1.4 Translating Teams
+=====================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
@@ -174,562 +175,904 @@ coordinator for all translator teams.
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
-Available Packages
-==================
+1.5 Available Packages
+======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of January
-2004. The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of July
+2006. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es
+ Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
+----------------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | () |
- ant-phone | () |
- anubis | |
+ GNUnet | [] |
+ a2ps | [] [] [] [] [] |
+ aegis | () |
+ ant-phone | () |
+ anubis | [] |
ap-utils | |
- aspell | [] |
- bash | [] [] [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] |
- bluez-pin | [] [] [] |
- clisp | |
- clisp | [] [] [] |
- console-tools | [] [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- darkstat | [] () [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] [] |
- error | [] [] [] [] [] |
- fetchmail | [] () [] [] [] [] |
- fileutils | [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] [] [] [] |
- fslint | |
- gas | [] |
- gawk | [] [] [] [] |
- gbiff | [] |
+ aspell | [] [] [] [] |
+ bash | [] [] [] |
+ batchelor | [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | [] |
+ bison | [] [] |
+ bison-runtime | [] |
+ bluez-pin | [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ console-tools | [] [] |
+ coreutils | [] [] [] [] |
+ cpio | |
+ cpplib | [] [] [] |
+ cryptonit | [] |
+ darkstat | [] () [] |
+ dialog | [] [] [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ doodle | [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ error | [] [] [] [] |
+ fetchmail | [] [] () [] |
+ fileutils | [] [] |
+ findutils | [] [] [] |
+ flex | [] [] [] |
+ fslint | [] |
+ gas | |
+ gawk | [] [] [] |
+ gbiff | [] |
gcal | [] |
- gcc | [] [] |
- gettext | [] [] [] [] [] |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] [] [] [] |
- gliv | |
- glunarclock | [] [] |
- gnubiff | [] |
- gnucash | [] () [] [] |
- gnucash-glossary | [] () [] |
- gnupg | [] () [] [] [] [] |
- gpe-aerial | [] |
- gpe-beam | [] [] |
- gpe-calendar | [] [] |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] |
+ gimp-print | [] [] [] [] |
+ gip | [] |
+ gliv | [] |
+ glunarclock | [] |
+ gmult | [] [] |
+ gnubiff | () |
+ gnucash | () () [] |
+ gnucash-glossary | [] () |
+ gnuedu | |
+ gnulib | [] [] [] [] [] [] |
+ gnunet-gtk | |
+ gnutls | |
+ gpe-aerial | [] [] |
+ gpe-beam | [] [] |
+ gpe-calendar | [] [] |
+ gpe-clock | [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | |
gpe-edit | [] |
+ gpe-filemanager | |
gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] |
+ gpe-taskmanager | [] [] |
gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | () () () |
- gramadoir | [] |
- grep | [] [] [] [] [] [] |
- gretl | [] |
- gtick | [] () |
- hello | [] [] [] [] [] [] |
- id-utils | [] [] |
- indent | [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] |
- iso_3166_1 | [] [] [] [] [] [] |
+ gpe-today | [] [] |
+ gpe-todo | |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] |
+ gpsdrive | () () |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ gretl | |
+ gsasl | |
+ gss | |
+ gst-plugins | [] [] [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () |
+ gtkam | [] [] [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] |
+ id-utils | [] [] |
+ impost | |
+ indent | [] [] [] |
+ iso_3166 | [] [] |
+ iso_3166_1 | [] [] [] [] [] |
iso_3166_2 | |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] [] |
- iso_639 | |
- jpilot | [] [] [] |
+ iso_3166_3 | [] |
+ iso_4217 | [] |
+ iso_639 | [] [] |
+ jpilot | [] |
jtag | |
- jwhois | [] |
- kbd | [] [] [] [] [] |
- latrine | () |
- ld | [] [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] [] |
- libiconv | [] [] [] [] [] |
- lifelines | [] () |
- lilypond | [] |
+ jwhois | |
+ kbd | [] [] [] [] |
+ keytouch | |
+ keytouch-editor | |
+ keytouch-keyboa... | |
+ latrine | () |
+ ld | [] |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] [] |
+ lifelines | [] () |
+ lilypond | [] |
lingoteach | |
- lingoteach_lessons | () () |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] |
- man-db | [] () [] [] () |
- minicom | [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] |
- nano_1_0 | [] () [] [] [] |
- opcodes | [] |
- parted | [] [] [] [] [] |
- ptx | [] [] [] [] [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | [] |
+ make | [] [] |
+ man-db | [] () [] [] |
+ minicom | [] [] [] |
+ mysecretdiary | [] [] |
+ nano | [] [] () [] |
+ nano_1_0 | [] () [] [] |
+ opcodes | [] |
+ parted | |
+ pilot-qof | [] |
+ psmisc | [] |
+ pwdutils | |
python | |
- radius | [] |
- recode | [] [] [] [] [] [] [] |
- rpm | [] [] |
+ qof | |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rpm | [] [] |
screem | |
- scrollkeeper | [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] |
- sh-utils | [] [] [] |
- shared-mime-info | |
- sharutils | [] [] [] [] [] [] |
- silky | () |
- skencil | [] () [] |
- sketch | [] () [] |
- soundtracker | [] [] [] |
- sp | [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] |
- textutils | [] [] [] [] |
- tin | () () |
- tp-robot | |
- tuxpaint | [] [] [] [] [] [] [] |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] |
+ sh-utils | [] [] |
+ shared-mime-info | [] [] [] |
+ sharutils | [] [] [] [] [] [] |
+ shishi | |
+ silky | |
+ skencil | [] () |
+ sketch | [] () |
+ solfege | |
+ soundtracker | [] [] |
+ sp | [] |
+ stardict | [] |
+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
+ tar | [] |
+ texinfo | [] [] [] |
+ textutils | [] [] [] |
+ tin | () () |
+ tp-robot | [] |
+ tuxpaint | [] [] [] [] [] |
unicode-han-tra... | |
unicode-transla... | |
- util-linux | [] [] [] [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] [] [] [] [] |
- xchat | [] [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] |
+ util-linux | [] [] [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] |
+ wget | [] [] |
+ xchat | [] [] [] [] [] |
+ xkeyboard-config | |
+ xpad | [] [] |
+----------------------------------------------------+
- af am ar az be bg bs ca cs da de el en en_GB eo es
- 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68
-
- et eu fa fi fr ga gl he hr hu id is it ja ko lg
- +-------------------------------------------------+
- a2ps | [] [] [] () () |
- aegis | |
- ant-phone | [] |
- anubis | [] |
- ap-utils | [] |
- aspell | [] [] |
- bash | [] [] |
- batchelor | [] [] |
- bfd | [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- clisp | |
- clisp | [] |
- console-tools | |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] [] |
- darkstat | () [] [] [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | |
- enscript | [] [] |
- error | [] [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | [] |
- gawk | [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext | [] [] [] |
- gettext-examples | [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] |
- gliv | () |
- glunarclock | [] [] [] [] |
- gnubiff | [] |
- gnucash | () [] |
- gnucash-glossary | [] |
- gnupg | [] [] [] [] [] [] [] |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-calendar | [] [] [] |
- gpe-clock | [] |
- gpe-conf | [] |
- gpe-contacts | [] [] |
- gpe-edit | [] [] |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] [] |
- gpe-sketchbook | [] |
- gpe-su | [] |
- gpe-taskmanager | [] |
- gpe-timesheet | [] [] [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | [] [] [] |
- gprof | [] [] |
- gpsdrive | () () () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] [] [] [] |
- gretl | [] [] |
- gtick | [] [] [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- indent | [] [] [] [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] |
- iso_3166_1 | [] [] [] [] [] |
- iso_3166_2 | |
- iso_3166_3 | |
- iso_4217 | [] [] [] [] [] [] |
- iso_639 | |
- jpilot | [] () |
- jtag | [] |
- jwhois | [] [] [] [] |
- kbd | [] |
- latrine | [] |
- ld | [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] [] [] |
- lifelines | () |
- lilypond | [] |
- lingoteach | [] [] |
- lingoteach_lessons | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | |
- make | [] [] [] [] [] [] |
- man-db | () () |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] |
- nano | [] [] [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] |
- sed | [] [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] [] |
- shared-mime-info | [] [] [] |
- sharutils | [] [] [] [] [] |
- silky | () [] () () |
- skencil | [] |
- sketch | [] |
- soundtracker | [] [] |
- sp | [] () |
- tar | [] [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] [] [] |
- tin | [] () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux | [] [] [] [] () [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] |
- xchat | [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] [] |
- +-------------------------------------------------+
- et eu fa fi fr ga gl he hr hu id is it ja ko lg
- 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0
-
- lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
- +-----------------------------------------------------+
- a2ps | [] [] () () [] [] [] |
- aegis | () () () |
- ant-phone | [] [] |
- anubis | [] [] [] [] [] [] |
- ap-utils | [] () [] |
- aspell | [] |
- bash | [] [] [] |
- batchelor | [] |
- bfd | [] |
- binutils | [] |
- bison | [] [] [] [] [] |
- bluez-pin | [] [] [] |
- clisp | |
- clisp | [] |
- console-tools | [] |
- coreutils | [] [] |
- cpio | [] [] [] [] [] |
- darkstat | [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- e2fsprogs | [] |
- enscript | [] [] [] [] |
- error | [] [] [] |
- fetchmail | [] [] () [] |
- fileutils | [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] |
- fslint | [] [] |
- gas | |
- gawk | [] [] [] |
- gbiff | [] [] |
- gcal | |
- gcc | |
- gettext | [] [] [] |
- gettext-examples | [] [] [] |
- gettext-runtime | [] [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] |
- gliv | [] [] [] |
- glunarclock | [] [] [] [] |
- gnubiff | [] |
- gnucash | [] [] () [] |
- gnucash-glossary | [] [] |
- gnupg | [] |
- gpe-aerial | [] [] [] [] |
- gpe-beam | [] [] [] [] |
- gpe-calendar | [] [] [] [] |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] [] [] [] |
- gpe-contacts | [] [] [] [] |
- gpe-edit | [] [] [] [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] [] |
- gpe-ownerinfo | [] [] [] [] |
- gpe-sketchbook | [] [] [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] [] [] [] |
- gphoto2 | [] |
- gprof | [] [] |
- gpsdrive | () () [] |
- gramadoir | () [] |
- grep | [] [] [] [] [] |
- gretl | |
- gtick | [] [] [] |
- hello | [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- indent | [] [] [] [] |
- iso_3166 | [] [] [] |
- iso_3166_1 | [] [] |
- iso_3166_2 | |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] [] [] [] [] [] |
- iso_639 | [] |
- jpilot | () () |
- jtag | |
- jwhois | [] [] [] [] () |
- kbd | [] [] [] |
- latrine | [] |
- ld | |
- libc | [] [] [] [] |
- libgpewidget | [] [] [] |
- libiconv | [] [] [] [] [] |
- lifelines | |
- lilypond | |
- lingoteach | |
- lingoteach_lessons | |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | [] [] [] |
- make | [] [] [] [] |
- man-db | [] |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] [] [] [] [] |
- nano_1_0 | [] [] [] [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] |
- ptx | [] [] [] [] [] [] [] [] |
- python | |
- radius | [] [] |
- recode | [] [] [] [] |
- rpm | [] [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] |
- sed | [] [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] |
- sharutils | [] [] |
- silky | () |
- skencil | [] [] |
- sketch | [] [] |
- soundtracker | |
- sp | |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] |
- tin | |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] |
- vorbis-tools | [] [] [] |
- wastesedge | |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] |
- xchat | [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] [] |
- +-----------------------------------------------------+
- lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
- 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63
-
- sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
- +-----------------------------------------------------+
- a2ps | [] [] [] [] | 16
- aegis | | 0
- ant-phone | | 3
- anubis | [] [] | 9
- ap-utils | () | 3
- aspell | | 4
- bash | | 9
- batchelor | | 3
- bfd | [] [] | 6
- binutils | [] [] [] | 8
- bison | [] [] | 14
- bluez-pin | [] [] [] | 14
- clisp | | 0
- clisp | | 5
- console-tools | | 3
- coreutils | [] [] [] [] | 16
- cpio | [] [] | 14
- darkstat | [] [] [] () () | 12
- diffutils | [] [] [] | 23
- e2fsprogs | [] [] | 6
- enscript | [] [] | 12
- error | [] [] [] | 15
- fetchmail | [] [] | 11
- fileutils | [] [] [] [] [] | 17
- findutils | [] [] [] [] [] [] | 29
- flex | [] [] | 13
- fslint | | 3
- gas | [] | 3
- gawk | [] [] | 12
- gbiff | | 4
- gcal | [] [] | 4
- gcc | [] | 4
- gettext | [] [] [] [] [] | 16
- gettext-examples | [] [] [] [] [] | 14
- gettext-runtime | [] [] [] [] [] [] [] [] | 22
- gettext-tools | [] [] [] [] [] [] | 14
- gimp-print | [] [] | 10
- gliv | | 3
- glunarclock | [] [] [] | 13
- gnubiff | | 3
- gnucash | [] [] | 9
- gnucash-glossary | [] [] [] | 8
- gnupg | [] [] [] [] | 17
- gpe-aerial | [] | 7
- gpe-beam | [] | 8
- gpe-calendar | [] [] [] [] | 13
- gpe-clock | [] [] [] | 10
- gpe-conf | [] [] | 9
- gpe-contacts | [] [] [] | 11
- gpe-edit | [] [] [] [] [] | 12
- gpe-go | | 5
- gpe-login | [] [] [] [] [] | 13
- gpe-ownerinfo | [] [] [] [] | 13
- gpe-sketchbook | [] [] | 9
- gpe-su | [] [] [] | 10
- gpe-taskmanager | [] [] [] | 10
- gpe-timesheet | [] [] [] [] | 12
- gpe-today | [] [] [] [] [] | 13
- gpe-todo | [] [] [] [] | 12
- gphoto2 | [] [] [] | 11
- gprof | [] [] | 9
- gpsdrive | [] [] | 3
- gramadoir | [] | 5
- grep | [] [] [] [] | 26
- gretl | | 3
- gtick | | 7
- hello | [] [] [] [] [] | 34
- id-utils | [] [] | 12
- indent | [] [] [] [] | 21
- iso_3166 | [] [] [] [] [] [] [] | 27
- iso_3166_1 | [] [] [] | 16
- iso_3166_2 | | 0
- iso_3166_3 | | 2
- iso_4217 | [] [] [] [] [] [] | 24
- iso_639 | | 1
- jpilot | [] [] [] [] [] | 9
- jtag | [] | 2
- jwhois | () [] [] | 11
- kbd | [] [] | 11
- latrine | | 2
- ld | [] [] | 5
- libc | [] [] [] [] | 20
- libgpewidget | [] [] [] [] | 13
- libiconv | [] [] [] [] [] [] [] [] | 27
- lifelines | [] | 2
- lilypond | [] | 3
- lingoteach | | 2
- lingoteach_lessons | () | 0
- lynx | [] [] [] | 14
- m4 | [] [] | 15
- mailutils | | 5
- make | [] [] [] | 16
- man-db | [] | 5
- minicom | | 11
- mysecretdiary | [] [] | 10
- nano | [] [] [] [] | 17
- nano_1_0 | [] [] [] | 17
- opcodes | [] [] | 6
- parted | [] [] [] | 15
- ptx | [] [] | 22
- python | | 0
- radius | | 4
- recode | [] [] [] | 20
- rpm | [] [] | 9
- screem | [] [] | 2
- scrollkeeper | [] [] [] | 15
- sed | [] [] [] [] [] [] | 24
- sh-utils | [] [] | 14
- shared-mime-info | [] [] | 7
- sharutils | [] [] [] [] | 17
- silky | () | 3
- skencil | [] | 6
- sketch | [] | 6
- soundtracker | [] [] | 7
- sp | [] | 3
- tar | [] [] [] [] [] | 24
- texinfo | [] [] [] | 14
- textutils | [] [] [] [] | 16
- tin | | 1
- tp-robot | | 2
- tuxpaint | [] [] [] [] [] | 29
- unicode-han-tra... | | 0
- unicode-transla... | | 2
- util-linux | [] [] | 15
- vorbis-tools | | 8
- wastesedge | | 0
- wdiff | [] [] [] | 18
- wget | [] [] [] [] [] [] [] [] | 24
- xchat | [] [] [] [] [] | 15
- xfree86_xkb_xml | [] [] [] [] [] | 11
- xpad | | 5
- +-----------------------------------------------------+
- 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
- 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373
+ af am ar az be bg bs ca cs cy da de el en en_GB eo
+ 11 0 1 2 8 21 1 42 43 2 62 99 18 1 16 16
+
+ es et eu fa fi fr ga gl gu he hi hr hu id is it
+ +--------------------------------------------------+
+ GNUnet | |
+ a2ps | [] [] [] () |
+ aegis | |
+ ant-phone | [] |
+ anubis | [] |
+ ap-utils | [] [] |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ batchelor | [] [] |
+ bfd | [] |
+ bibshelf | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ cflow | |
+ clisp | [] [] |
+ console-tools | |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cpplib | [] [] |
+ cryptonit | [] |
+ darkstat | [] () [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] |
+ diffutils | [] [] [] [] [] [] [] [] [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] |
+ error | [] [] [] [] [] |
+ fetchmail | [] |
+ fileutils | [] [] [] [] [] [] |
+ findutils | [] [] [] [] |
+ flex | [] [] [] |
+ fslint | [] |
+ gas | [] [] |
+ gawk | [] [] [] [] |
+ gbiff | [] |
+ gcal | [] [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gimp-print | [] [] |
+ gip | [] [] [] |
+ gliv | () |
+ glunarclock | [] [] [] |
+ gmult | [] [] [] |
+ gnubiff | () () |
+ gnucash | () () () |
+ gnucash-glossary | [] [] |
+ gnuedu | [] |
+ gnulib | [] [] [] [] [] [] [] [] |
+ gnunet-gtk | |
+ gnutls | |
+ gpe-aerial | [] [] |
+ gpe-beam | [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] [] [] [] |
+ gpe-filemanager | [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] |
+ gpe-package | [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gpsdrive | () () [] () |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] [] [] [] [] [] [] |
+ gretl | [] [] [] |
+ gsasl | [] |
+ gss | [] |
+ gst-plugins | [] [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] [] [] |
+ impost | [] [] |
+ indent | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166 | [] [] [] |
+ iso_3166_1 | [] [] [] [] [] [] [] |
+ iso_3166_2 | [] |
+ iso_3166_3 | [] |
+ iso_4217 | [] [] [] [] |
+ iso_639 | [] [] [] [] [] |
+ jpilot | [] [] |
+ jtag | [] |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ latrine | [] [] [] |
+ ld | [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgpewidget | [] [] [] [] [] |
+ libgpg-error | |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] |
+ libiconv | [] |
+ libidn | [] [] |
+ lifelines | () |
+ lilypond | [] |
+ lingoteach | [] [] [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | [] [] |
+ make | [] [] [] [] [] [] [] [] |
+ man-db | () |
+ minicom | [] [] [] [] |
+ mysecretdiary | [] [] [] |
+ nano | [] () [] [] [] [] |
+ nano_1_0 | [] [] [] [] [] |
+ opcodes | [] [] [] [] |
+ parted | [] [] [] [] |
+ pilot-qof | |
+ psmisc | [] [] [] |
+ pwdutils | |
+ python | |
+ qof | |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rpm | [] [] |
+ screem | |
+ scrollkeeper | [] [] [] |
+ sed | [] [] [] [] [] |
+ sh-utils | [] [] [] [] [] [] [] |
+ shared-mime-info | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] [] [] [] |
+ shishi | |
+ silky | [] |
+ skencil | [] [] |
+ sketch | [] [] |
+ solfege | [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ stardict | [] |
+ system-tools-ba... | [] [] [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] |
+ textutils | [] [] [] [] [] |
+ tin | [] () |
+ tp-robot | [] [] [] [] |
+ tuxpaint | [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux | [] [] [] [] [] [] [] |
+ vorbis-tools | [] [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ xpad | [] [] [] |
+ +--------------------------------------------------+
+ es et eu fa fi fr ga gl gu he hi hr hu id is it
+ 89 21 16 2 41 119 61 14 1 8 1 6 61 30 0 53
+
+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+ +--------------------------------------------------+
+ GNUnet | |
+ a2ps | () [] [] () |
+ aegis | () |
+ ant-phone | [] |
+ anubis | [] [] [] |
+ ap-utils | [] |
+ aspell | [] [] |
+ bash | [] |
+ batchelor | [] [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] |
+ bluez-pin | [] [] [] |
+ cflow | |
+ clisp | [] |
+ console-tools | |
+ coreutils | [] |
+ cpio | |
+ cpplib | [] |
+ cryptonit | [] |
+ darkstat | [] [] |
+ dialog | [] [] |
+ diffutils | [] [] [] |
+ doodle | |
+ e2fsprogs | [] |
+ enscript | [] |
+ error | [] |
+ fetchmail | [] [] |
+ fileutils | [] [] |
+ findutils | [] |
+ flex | [] [] |
+ fslint | [] [] |
+ gas | |
+ gawk | [] [] |
+ gbiff | [] |
+ gcal | |
+ gcc | |
+ gettext-examples | [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gimp-print | [] [] |
+ gip | [] [] |
+ gliv | [] |
+ glunarclock | [] [] |
+ gmult | [] [] |
+ gnubiff | |
+ gnucash | () () |
+ gnucash-glossary | [] |
+ gnuedu | |
+ gnulib | [] [] [] [] |
+ gnunet-gtk | |
+ gnutls | |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] |
+ gpe-edit | [] [] |
+ gpe-filemanager | [] |
+ gpe-go | [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] |
+ gpe-package | [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] |
+ gpe-taskmanager | [] [] [] |
+ gpe-timesheet | [] |
+ gpe-today | [] |
+ gpe-todo | |
+ gphoto2 | [] [] |
+ gprof | |
+ gpsdrive | () () () |
+ gramadoir | () |
+ grep | [] [] [] |
+ gretl | |
+ gsasl | [] |
+ gss | |
+ gst-plugins | [] |
+ gst-plugins-base | |
+ gst-plugins-good | [] |
+ gstreamer | [] |
+ gtick | [] |
+ gtkam | [] |
+ gtkorphan | [] |
+ gtkspell | [] [] |
+ gutenprint | |
+ hello | [] [] [] [] [] [] [] [] |
+ id-utils | [] |
+ impost | |
+ indent | [] [] |
+ iso_3166 | [] |
+ iso_3166_1 | [] [] |
+ iso_3166_2 | [] |
+ iso_3166_3 | [] |
+ iso_4217 | [] [] [] |
+ iso_639 | [] [] |
+ jpilot | () () () |
+ jtag | |
+ jwhois | [] |
+ kbd | [] |
+ keytouch | [] |
+ keytouch-editor | |
+ keytouch-keyboa... | |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] |
+ libc | [] [] [] [] [] |
+ libexif | |
+ libextractor | |
+ libgpewidget | [] |
+ libgpg-error | |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | |
+ libidn | [] [] |
+ lifelines | [] |
+ lilypond | |
+ lingoteach | [] |
+ lynx | [] [] |
+ m4 | [] [] |
+ mailutils | |
+ make | [] [] [] |
+ man-db | () |
+ minicom | [] |
+ mysecretdiary | [] |
+ nano | [] [] [] |
+ nano_1_0 | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pilot-qof | |
+ psmisc | [] [] [] |
+ pwdutils | |
+ python | |
+ qof | |
+ radius | |
+ recode | [] |
+ rpm | [] [] |
+ screem | [] |
+ scrollkeeper | [] [] [] [] |
+ sed | [] [] |
+ sh-utils | [] [] |
+ shared-mime-info | [] [] [] [] [] |
+ sharutils | [] [] |
+ shishi | |
+ silky | [] |
+ skencil | |
+ sketch | |
+ solfege | |
+ soundtracker | |
+ sp | () |
+ stardict | [] [] |
+ system-tools-ba... | [] [] [] [] |
+ tar | [] [] [] |
+ texinfo | [] [] [] |
+ textutils | [] [] [] |
+ tin | |
+ tp-robot | [] |
+ tuxpaint | [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] |
+ xchat | [] [] [] [] |
+ xkeyboard-config | [] |
+ xpad | [] [] [] |
+ +--------------------------------------------------+
+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+ 40 24 2 1 1 3 1 2 3 21 0 15 1 101 5 3
+
+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+ +------------------------------------------------------+
+ GNUnet | |
+ a2ps | () [] [] [] [] [] [] |
+ aegis | () () |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ ap-utils | () |
+ aspell | [] [] |
+ bash | [] [] [] |
+ batchelor | [] [] |
+ bfd | |
+ bibshelf | [] |
+ binutils | [] [] |
+ bison | [] [] [] [] [] |
+ bison-runtime | [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] [] |
+ cflow | [] |
+ clisp | [] |
+ console-tools | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cpplib | [] |
+ cryptonit | [] [] |
+ darkstat | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ error | [] [] [] [] |
+ fetchmail | [] [] [] |
+ fileutils | [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ fslint | [] [] [] [] |
+ gas | |
+ gawk | [] [] [] [] |
+ gbiff | [] |
+ gcal | [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gimp-print | [] [] |
+ gip | [] [] [] [] |
+ gliv | [] [] [] [] |
+ glunarclock | [] [] [] [] [] [] |
+ gmult | [] [] [] [] |
+ gnubiff | () |
+ gnucash | () [] |
+ gnucash-glossary | [] [] [] |
+ gnuedu | |
+ gnulib | [] [] [] [] [] |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-calendar | [] [] [] [] [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] [] [] [] [] [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] [] [] [] |
+ gpe-login | [] [] [] [] [] [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] [] [] |
+ gretl | [] |
+ gsasl | [] [] |
+ gss | [] [] [] |
+ gst-plugins | [] [] [] [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ gutenprint | [] |
+ hello | [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] [] |
+ impost | [] |
+ indent | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] |
+ iso_3166_1 | [] [] [] [] |
+ iso_3166_2 | |
+ iso_3166_3 | [] [] [] [] |
+ iso_4217 | [] [] [] [] |
+ iso_639 | [] [] [] [] |
+ jpilot | |
+ jtag | [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ latrine | [] [] |
+ ld | [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | [] [] |
+ libgpewidget | [] [] [] [] [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | |
+ libidn | [] [] () |
+ lifelines | [] [] |
+ lilypond | |
+ lingoteach | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ minicom | [] [] [] [] [] |
+ mysecretdiary | [] [] [] [] |
+ nano | [] [] |
+ nano_1_0 | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] |
+ pilot-qof | [] |
+ psmisc | [] [] |
+ pwdutils | [] [] |
+ python | |
+ qof | [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ rpm | [] [] [] [] |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sh-utils | [] [] [] |
+ shared-mime-info | [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ silky | [] |
+ skencil | [] [] [] |
+ sketch | [] [] [] |
+ solfege | [] |
+ soundtracker | [] [] |
+ sp | |
+ stardict | [] [] [] |
+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ textutils | [] [] [] |
+ tin | () |
+ tp-robot | [] |
+ tuxpaint | [] [] [] [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux | [] [] [] [] |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wdiff | [] [] [] [] [] [] |
+ wget | [] [] [] [] |
+ xchat | [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] |
+ xpad | [] [] [] |
+ +------------------------------------------------------+
+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
+ 0 2 3 58 31 53 5 76 72 5 42 48 12 51 130 2
+
+ tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ +---------------------------------------------------+
+ GNUnet | [] | 2
+ a2ps | [] [] [] | 19
+ aegis | | 0
+ ant-phone | [] [] | 6
+ anubis | [] [] [] | 11
+ ap-utils | () [] | 4
+ aspell | [] [] [] | 14
+ bash | [] | 11
+ batchelor | [] [] | 9
+ bfd | | 1
+ bibshelf | [] | 7
+ binutils | [] [] [] | 9
+ bison | [] [] [] | 19
+ bison-runtime | [] [] [] | 16
+ bluez-pin | [] [] [] [] [] [] | 28
+ cflow | [] [] | 4
+ clisp | | 6
+ console-tools | [] [] | 5
+ coreutils | [] [] | 17
+ cpio | [] [] [] | 9
+ cpplib | [] [] [] [] | 11
+ cryptonit | | 5
+ darkstat | [] () () | 15
+ dialog | [] [] [] [] [] | 30
+ diffutils | [] [] [] [] | 28
+ doodle | [] | 6
+ e2fsprogs | [] [] | 10
+ enscript | [] [] [] | 16
+ error | [] [] [] [] | 18
+ fetchmail | [] [] | 12
+ fileutils | [] [] [] | 18
+ findutils | [] [] [] | 17
+ flex | [] [] | 15
+ fslint | [] | 9
+ gas | [] | 3
+ gawk | [] [] | 15
+ gbiff | [] | 5
+ gcal | [] | 5
+ gcc | [] [] [] | 6
+ gettext-examples | [] [] [] [] [] [] | 26
+ gettext-runtime | [] [] [] [] [] [] | 28
+ gettext-tools | [] [] [] [] [] | 19
+ gimp-print | [] [] | 12
+ gip | [] [] | 12
+ gliv | [] [] | 8
+ glunarclock | [] [] [] | 15
+ gmult | [] [] [] [] | 15
+ gnubiff | [] | 1
+ gnucash | () | 2
+ gnucash-glossary | [] [] | 9
+ gnuedu | [] | 2
+ gnulib | [] [] [] [] [] | 28
+ gnunet-gtk | | 1
+ gnutls | | 2
+ gpe-aerial | [] [] | 14
+ gpe-beam | [] [] | 14
+ gpe-calendar | [] [] [] [] | 19
+ gpe-clock | [] [] [] [] | 20
+ gpe-conf | [] [] | 14
+ gpe-contacts | [] [] | 10
+ gpe-edit | [] [] [] [] | 19
+ gpe-filemanager | [] | 5
+ gpe-go | [] [] | 14
+ gpe-login | [] [] [] [] [] | 20
+ gpe-ownerinfo | [] [] [] [] | 20
+ gpe-package | [] | 5
+ gpe-sketchbook | [] [] | 16
+ gpe-su | [] [] [] | 19
+ gpe-taskmanager | [] [] [] | 19
+ gpe-timesheet | [] [] [] [] | 18
+ gpe-today | [] [] [] [] [] | 20
+ gpe-todo | [] | 6
+ gphoto2 | [] [] [] [] | 20
+ gprof | [] [] | 11
+ gpsdrive | | 4
+ gramadoir | [] | 7
+ grep | [] [] [] [] | 33
+ gretl | | 4
+ gsasl | [] [] | 6
+ gss | [] | 5
+ gst-plugins | [] [] [] | 15
+ gst-plugins-base | [] [] [] | 9
+ gst-plugins-good | [] [] [] | 18
+ gstreamer | [] [] [] | 17
+ gtick | [] | 11
+ gtkam | [] | 13
+ gtkorphan | [] | 7
+ gtkspell | [] [] [] [] [] [] | 26
+ gutenprint | | 3
+ hello | [] [] [] [] [] | 39
+ id-utils | [] [] | 14
+ impost | [] | 4
+ indent | [] [] [] [] | 25
+ iso_3166 | [] [] [] | 15
+ iso_3166_1 | [] [] | 20
+ iso_3166_2 | | 2
+ iso_3166_3 | [] [] | 9
+ iso_4217 | [] [] | 14
+ iso_639 | [] | 14
+ jpilot | [] [] [] [] | 7
+ jtag | [] | 3
+ jwhois | [] [] [] | 13
+ kbd | [] [] | 12
+ keytouch | [] | 4
+ keytouch-editor | | 2
+ keytouch-keyboa... | | 2
+ latrine | [] [] | 8
+ ld | [] [] [] [] | 8
+ leafpad | [] [] [] [] | 23
+ libc | [] [] [] | 23
+ libexif | [] | 4
+ libextractor | [] | 5
+ libgpewidget | [] [] [] | 19
+ libgpg-error | [] | 4
+ libgphoto2 | [] | 8
+ libgphoto2_port | [] [] [] | 11
+ libgsasl | [] | 8
+ libiconv | [] | 4
+ libidn | [] [] | 10
+ lifelines | | 4
+ lilypond | | 2
+ lingoteach | [] | 6
+ lynx | [] [] [] | 15
+ m4 | [] [] [] | 18
+ mailutils | [] | 8
+ make | [] [] [] | 20
+ man-db | [] | 6
+ minicom | [] | 14
+ mysecretdiary | [] [] | 12
+ nano | [] [] | 15
+ nano_1_0 | [] [] [] | 18
+ opcodes | [] [] | 10
+ parted | [] [] [] | 10
+ pilot-qof | [] | 3
+ psmisc | [] | 10
+ pwdutils | [] | 3
+ python | | 0
+ qof | [] | 2
+ radius | [] | 6
+ recode | [] [] [] | 25
+ rpm | [] [] [] [] | 14
+ screem | [] | 2
+ scrollkeeper | [] [] [] [] | 26
+ sed | [] [] [] | 22
+ sh-utils | [] | 15
+ shared-mime-info | [] [] [] [] | 23
+ sharutils | [] [] [] | 23
+ shishi | | 1
+ silky | [] | 4
+ skencil | [] | 7
+ sketch | | 6
+ solfege | | 2
+ soundtracker | [] [] | 9
+ sp | [] | 3
+ stardict | [] [] [] [] | 11
+ system-tools-ba... | [] [] [] [] [] [] [] | 37
+ tar | [] [] [] [] | 19
+ texinfo | [] [] [] | 15
+ textutils | [] [] [] | 17
+ tin | | 1
+ tp-robot | [] [] [] | 10
+ tuxpaint | [] [] [] | 16
+ unicode-han-tra... | | 0
+ unicode-transla... | | 2
+ util-linux | [] [] [] | 20
+ vorbis-tools | [] [] | 11
+ wastesedge | | 1
+ wdiff | [] [] | 22
+ wget | [] [] [] | 19
+ xchat | [] [] [] [] | 28
+ xkeyboard-config | [] [] [] [] | 11
+ xpad | [] [] [] | 14
+ +---------------------------------------------------+
+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ 172 domains 0 1 1 78 39 0 135 13 1 50 3 54 0 2054
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
@@ -742,13 +1085,13 @@ distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
- If January 2004 seems to be old, you may fetch a more recent copy of
+ If July 2006 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-Using `gettext' in new packages
-===============================
+1.6 Using `gettext' in new packages
+===================================
If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
diff --git a/ChangeLog b/ChangeLog
index 5a2d98b61..1260a9be4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * configure.ac [AH_BOTTOM]: Disable PTH soft mapping.
+ (AC_CHECK_SIZEOF): Check for time_t.
+ (BUILD_INCLUDED_LIBINTL): Remove AM_PO_SUBDIRS as it is not
+ required for C.
+
2006-11-15 Werner Koch <wk@g10code.com>
* autogen.sh: Add convenience option --build-amd64.
diff --git a/common/ChangeLog b/common/ChangeLog
index 5ff12da97..63d856636 100644
--- a/common/ChangeLog
+++ b/common/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * estream.c: Remove explicit Pth soft mapping diabling becuase it
+ is now done in config.h.
+
2006-11-15 Werner Koch <wk@g10code.com>
* estream.c: Disabled Pth soft mapping.
diff --git a/common/estream.c b/common/estream.c
index e00191e53..e63bc8919 100644
--- a/common/estream.c
+++ b/common/estream.c
@@ -46,9 +46,6 @@
#endif
#ifdef HAVE_PTH
- /* We explicitly need to disable soft mapping as Debian currently
- enables it for no reason. */
-# define PTH_SYSCALL_SOFT 0
# include <pth.h>
#endif
diff --git a/configure.ac b/configure.ac
index bcf70867b..38c343895 100644
--- a/configure.ac
+++ b/configure.ac
@@ -422,6 +422,11 @@ AH_BOTTOM([
/* We don't want the old assuan codes anymore. */
#define _ASSUAN_ONLY_GPG_ERRORS 1
+/* We explicitly need to disable PTH's soft mapping as Debian
+ currently enables it by default for no reason. */
+#define PTH_SYSCALL_SOFT 0
+
+
#endif /*GNUPG_CONFIG_H_INCLUDED*/
])
@@ -847,7 +852,7 @@ AC_DEFINE_UNQUOTED(PRINTABLE_OS_NAME, "$PRINTABLE_OS_NAME",
#
# Check for gettext
#
-AM_GNU_GETTEXT_VERSION(0.14.1)
+AM_GNU_GETTEXT_VERSION([0.15])
if test "$try_gettext" = yes; then
AM_GNU_GETTEXT(,[need-ngettext])
@@ -863,7 +868,6 @@ else
AC_SUBST(USE_NLS)
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AM_PO_SUBDIRS
fi
@@ -881,6 +885,7 @@ fi
AC_HEADER_STDC
AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h])
AC_CHECK_HEADERS([pty.h pwd.h inttypes.h])
+AC_HEADER_TIME
#
@@ -914,6 +919,21 @@ AC_CHECK_SIZEOF(unsigned short)
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned long long)
+AC_CHECK_SIZEOF(time_t,,[[
+#include <stdio.h>
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+]])
+
+
# Ensure that we have UINT64_C before we bother to check for uint64_t
# Fixme: really needed in gnupg? I think it is only useful in libcgrypt.
AC_CACHE_CHECK([for UINT64_C],[gnupg_cv_uint64_c_works],
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 5847bea2c..2040d7876 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,24 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * keygen.c (ask_expire_interval): Print y2038 warning only for 32
+ bit time_t.
+ (save_unprotected_key_to_card): Made RSA_N_LEN et al a size_t.
+ Cast printf args.
+
+ * seckey-cert.c (do_check): Made NBYTES a size_t.
+ (do_check): Made NDATA a size_t.
+ (protect_secret_key): Made NARR a size_t.
+ (protect_secret_key): Made NVYES a size_t.
+ * pubkey-enc.c (get_it): Made INDATALEN a size_t.
+ (get_it): Made NFRAME a size_t.
+ * keyid.c (hash_public_key): Made NBITS an unsigned int.
+ * misc.c (checksum_mpi): Made NBYTES a size_t.
+ (openpgp_pk_test_algo2): Made USE_BUF a size_t.
+ * seskey.c (encode_session_key): Made NFRAME a size_t.
+ (do_encode_md): Ditto.
+ (encode_md_value): Cast size_t argument of printf.
+ (encode_md_value): Ditto.
+
2006-11-10 Werner Koch <wk@g10code.com>
* parse-packet.c (mpi_read): Changed NREAD to size_t to match the
diff --git a/g10/keygen.c b/g10/keygen.c
index 0ce588c37..4602eabbf 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -1849,12 +1849,12 @@ ask_expire_interval(int object,const char *def_expire)
? _("Key expires at %s\n")
: _("Signature expires at %s\n"),
asctimestamp((ulong)(curtime + interval) ) );
- /* FIXME: This check yields warning on alhas: Write a
- configure check and to this check here only for 32 bit
- machines */
- if( (time_t)((ulong)(curtime+interval)) < 0 )
- tty_printf(_("Your system can't display dates beyond 2038.\n"
- "However, it will be correctly handled up to 2106.\n"));
+#if SIZEOF_TIME_T <= 4
+ if ( (time_t)((ulong)(curtime+interval)) < 0 )
+ tty_printf (_("Your system can't display dates beyond 2038.\n"
+ "However, it will be correctly handled up to"
+ " 2106.\n"));
+#endif /*SIZEOF_TIME_T*/
}
if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
@@ -3824,7 +3824,7 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
unsigned char *rsa_e = NULL;
unsigned char *rsa_p = NULL;
unsigned char *rsa_q = NULL;
- unsigned int rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
+ size_t rsa_n_len, rsa_e_len, rsa_p_len, rsa_q_len;
unsigned char *sexp = NULL;
unsigned char *p;
char numbuf[55], numbuf2[50];
@@ -3849,22 +3849,22 @@ save_unprotected_key_to_card (PKT_secret_key *sk, int keyno)
+ 4*sizeof (numbuf) + 25 + sizeof(numbuf) + 20);
p = stpcpy (p,"(11:private-key(3:rsa(1:n");
- sprintf (numbuf, "%u:", rsa_n_len);
+ sprintf (numbuf, "%u:", (unsigned int)rsa_n_len);
p = stpcpy (p, numbuf);
memcpy (p, rsa_n, rsa_n_len);
p += rsa_n_len;
- sprintf (numbuf, ")(1:e%u:", rsa_e_len);
+ sprintf (numbuf, ")(1:e%u:", (unsigned int)rsa_e_len);
p = stpcpy (p, numbuf);
memcpy (p, rsa_e, rsa_e_len);
p += rsa_e_len;
- sprintf (numbuf, ")(1:p%u:", rsa_p_len);
+ sprintf (numbuf, ")(1:p%u:", (unsigned int)rsa_p_len);
p = stpcpy (p, numbuf);
memcpy (p, rsa_p, rsa_p_len);
p += rsa_p_len;
- sprintf (numbuf, ")(1:q%u:", rsa_q_len);
+ sprintf (numbuf, ")(1:q%u:", (unsigned int)rsa_q_len);
p = stpcpy (p, numbuf);
memcpy (p, rsa_q, rsa_q_len);
p += rsa_q_len;
diff --git a/g10/keyid.c b/g10/keyid.c
index afafc1afd..0de396f16 100644
--- a/g10/keyid.c
+++ b/g10/keyid.c
@@ -59,7 +59,8 @@ hash_public_key( gcry_md_hd_t md, PKT_public_key *pk )
unsigned int nn[PUBKEY_MAX_NPKEY];
byte *pp[PUBKEY_MAX_NPKEY];
int i;
- size_t nbits, nbytes;
+ unsigned int nbits;
+ size_t nbytes;
int npkey = pubkey_get_npkey (pk->pubkey_algo);
/* Two extra bytes for the expiration date in v3 */
diff --git a/g10/misc.c b/g10/misc.c
index 064f1e6be..bf32228c3 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -297,7 +297,7 @@ checksum_mpi (gcry_mpi_t a)
{
u16 csum;
byte *buffer;
- unsigned int nbytes;
+ size_t nbytes;
if ( gcry_mpi_print (GCRYMPI_FMT_PGP, NULL, 0, &nbytes, a) )
BUG ();
@@ -426,7 +426,7 @@ openpgp_pk_test_algo( int algo )
int
openpgp_pk_test_algo2( int algo, unsigned int use )
{
- int use_buf = use;
+ size_t use_buf = use;
if (algo == GCRY_PK_ELG_E)
algo = GCRY_PK_ELG;
diff --git a/g10/pubkey-enc.c b/g10/pubkey-enc.c
index fca19f849..777e5f788 100644
--- a/g10/pubkey-enc.c
+++ b/g10/pubkey-enc.c
@@ -155,7 +155,8 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
int rc;
gcry_mpi_t plain_dek = NULL;
byte *frame = NULL;
- unsigned n, nframe;
+ unsigned int n;
+ size_t nframe;
u16 csum, csum2;
int card = 0;
@@ -167,7 +168,7 @@ get_it( PKT_pubkey_enc *enc, DEK *dek, PKT_secret_key *sk, u32 *keyid )
size_t rbuflen;
char *snbuf;
unsigned char *indata = NULL;
- unsigned int indatalen;
+ size_t indatalen;
snbuf = serialno_and_fpr_from_sk (sk->protect.iv, sk->protect.ivlen, sk);
diff --git a/g10/seckey-cert.c b/g10/seckey-cert.c
index a059aa00f..4a22a4524 100644
--- a/g10/seckey-cert.c
+++ b/g10/seckey-cert.c
@@ -45,7 +45,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
byte *buffer;
u16 csum=0;
int i, res;
- unsigned int nbytes;
+ size_t nbytes;
if( sk->is_protected ) { /* remove the protection */
DEK *dek = NULL;
@@ -194,7 +194,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
for(i=pubkey_get_npkey(sk->pubkey_algo);
i < pubkey_get_nskey(sk->pubkey_algo); i++ ) {
byte *p;
- int ndata;
+ size_t ndata;
unsigned int ndatabits;
assert (gcry_mpi_get_flag (sk->skey[i], GCRYMPI_FLAG_OPAQUE));
@@ -337,7 +337,7 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
{
int i,j, rc = 0;
byte *buffer;
- unsigned nbytes;
+ size_t nbytes;
u16 csum;
if( !dek )
@@ -370,8 +370,8 @@ protect_secret_key( PKT_secret_key *sk, DEK *dek )
gcry_cipher_setiv (cipher_hd, sk->protect.iv, sk->protect.ivlen);
if( sk->version >= 4 ) {
byte *bufarr[PUBKEY_MAX_NSKEY];
- unsigned narr[PUBKEY_MAX_NSKEY];
- unsigned nbits[PUBKEY_MAX_NSKEY];
+ size_t narr[PUBKEY_MAX_NSKEY];
+ unsigned int nbits[PUBKEY_MAX_NSKEY];
int ndata=0;
byte *p, *data;
diff --git a/g10/seskey.c b/g10/seskey.c
index c0efc3ae7..6ac83b01f 100644
--- a/g10/seskey.c
+++ b/g10/seskey.c
@@ -77,7 +77,7 @@ make_session_key( DEK *dek )
gcry_mpi_t
encode_session_key (DEK *dek, unsigned int nbits)
{
- int nframe = (nbits+7) / 8;
+ size_t nframe = (nbits+7) / 8;
byte *p;
byte *frame;
int i,n;
@@ -157,7 +157,7 @@ static gcry_mpi_t
do_encode_md( gcry_md_hd_t md, int algo, size_t len, unsigned nbits,
const byte *asn, size_t asnlen )
{
- int nframe = (nbits+7) / 8;
+ size_t nframe = (nbits+7) / 8;
byte *frame;
int i,n;
gcry_mpi_t a;
@@ -237,11 +237,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
or something like that, which would look correct but allow
trivial forgeries. Yes, I know this rules out using MD5 with
DSA. ;) */
-
- if(qbytes<160)
+ if (qbytes < 160)
{
- log_error(_("DSA key %s uses an unsafe (%u bit) hash\n"),
- pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes);
+ log_error (_("DSA key %s uses an unsafe (%u bit) hash\n"),
+ pk?keystr_from_pk(pk):keystr_from_sk(sk),
+ (unsigned int)qbytes);
return NULL;
}
@@ -249,11 +249,11 @@ encode_md_value (PKT_public_key *pk, PKT_secret_key *sk,
/* Check if we're too short. Too long is safe as we'll
automatically left-truncate. */
-
- if(gcry_md_get_algo_dlen (hash_algo) < qbytes)
+ if (gcry_md_get_algo_dlen (hash_algo) < qbytes)
{
- log_error(_("DSA key %s requires a %u bit or larger hash\n"),
- pk?keystr_from_pk(pk):keystr_from_sk(sk),qbytes*8);
+ log_error (_("DSA key %s requires a %u bit or larger hash\n"),
+ pk?keystr_from_pk(pk):keystr_from_sk(sk),
+ (unsigned int)(qbytes*8));
return NULL;
}
diff --git a/intl/ChangeLog b/intl/ChangeLog
index 751291929..fd4940c52 100644
--- a/intl/ChangeLog
+++ b/intl/ChangeLog
@@ -1,4 +1,4 @@
-2004-01-29 GNU <bug-gnu-gettext@gnu.org>
+2006-07-21 GNU <bug-gnu-gettext@gnu.org>
- * Version 0.14.1 released.
+ * Version 0.15 released.
diff --git a/intl/Makefile.in b/intl/Makefile.in
index 05f15329e..c1d5fbde5 100644
--- a/intl/Makefile.in
+++ b/intl/Makefile.in
@@ -1,5 +1,5 @@
# Makefile for directory with message catalog handling library of GNU gettext
-# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+# Copyright (C) 1995-1998, 2000-2006 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
PACKAGE = @PACKAGE@
@@ -24,6 +24,17 @@ SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ..
+
+# The VPATH variables allows builds with $builddir != $srcdir, assuming a
+# 'make' program that supports VPATH (such as GNU make). This line is removed
+# by autoconf automatically when "$(srcdir)" = ".".
+# In this directory, the VPATH handling is particular:
+# 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool),
+# the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted.
+# 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise
+# 'make' does the wrong thing if GNU gettext was configured with
+# "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la
+# files it finds in srcdir = ../../gettext-runtime/intl.
VPATH = $(srcdir)
prefix = @prefix@
@@ -31,6 +42,7 @@ exec_prefix = @exec_prefix@
transform = @program_transform_name@
libdir = @libdir@
includedir = @includedir@
+datarootdir = @datarootdir@
datadir = @datadir@
localedir = $(datadir)/locale
gettextsrcdir = $(datadir)/gettext/intl
@@ -39,8 +51,8 @@ subdir = intl
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+mkinstalldirs = @install_sh@ -d
+mkdir_p = @mkdir_p@
l = @INTL_LIBTOOL_SUFFIX_PREFIX@
@@ -51,15 +63,19 @@ RANLIB = @RANLIB@
YACC = @INTLBISON@ -y -d
YFLAGS = --name-prefix=__gettext
+# -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro.
+# -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro.
DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
--DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
+-DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \
-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
-Dset_relocation_prefix=libintl_set_relocation_prefix \
-Drelocate=libintl_relocate \
-DDEPENDS_ON_LIBICONV=1 @DEFS@
CPPFLAGS = @CPPFLAGS@
-CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@
+LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@)
+LDFLAGS_yes = -Wl,--export-all-symbols
+LDFLAGS_no =
LIBS = @LIBS@
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
@@ -72,6 +88,7 @@ HEADERS = \
plural-exp.h \
eval-plural.h \
localcharset.h \
+ lock.h \
relocatable.h \
xsize.h \
printf-args.h printf-args.c \
@@ -85,6 +102,7 @@ SOURCES = \
dgettext.c \
gettext.c \
finddomain.c \
+ hash-string.c \
loadmsgcat.c \
localealias.c \
textdomain.c \
@@ -97,12 +115,16 @@ SOURCES = \
plural.y \
plural-exp.c \
localcharset.c \
+ lock.c \
relocatable.c \
+ langprefs.c \
localename.c \
log.c \
printf.c \
+ version.c \
osdep.c \
os2compat.c \
+ intl-exports.c \
intl-compat.c
OBJECTS = \
bindtextdom.$lo \
@@ -110,6 +132,7 @@ OBJECTS = \
dgettext.$lo \
gettext.$lo \
finddomain.$lo \
+ hash-string.$lo \
loadmsgcat.$lo \
localealias.$lo \
textdomain.$lo \
@@ -122,14 +145,18 @@ OBJECTS = \
plural.$lo \
plural-exp.$lo \
localcharset.$lo \
+ lock.$lo \
relocatable.$lo \
+ langprefs.$lo \
localename.$lo \
log.$lo \
printf.$lo \
+ version.$lo \
osdep.$lo \
intl-compat.$lo
DISTFILES.common = Makefile.in \
-config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
+config.charset locale.alias ref-add.sin ref-del.sin export.h \
+$(HEADERS) $(SOURCES)
DISTFILES.generated = plural.c
DISTFILES.normal = VERSION
DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
@@ -152,7 +179,7 @@ libintl.a libgnuintl.a: $(OBJECTS)
libintl.la libgnuintl.la: $(OBJECTS)
$(LIBTOOL) --mode=link \
$(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
- $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
+ $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ -lc \
-version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
-rpath $(libdir) \
-no-undefined
@@ -162,9 +189,9 @@ libintl.la libgnuintl.la: $(OBJECTS)
# according to the libtool documentation, section "Library interface versions".
# Maintainers of other packages that include the intl directory must *not*
# change these values.
-LTV_CURRENT=7
+LTV_CURRENT=8
LTV_REVISION=0
-LTV_AGE=4
+LTV_AGE=0
.SUFFIXES:
.SUFFIXES: .c .y .o .lo .sin .sed
@@ -186,6 +213,8 @@ gettext.lo: $(srcdir)/gettext.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
finddomain.lo: $(srcdir)/finddomain.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
+hash-string.lo: $(srcdir)/hash-string.c
+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c
loadmsgcat.lo: $(srcdir)/loadmsgcat.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
localealias.lo: $(srcdir)/localealias.c
@@ -210,14 +239,20 @@ plural-exp.lo: $(srcdir)/plural-exp.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
localcharset.lo: $(srcdir)/localcharset.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
+lock.lo: $(srcdir)/lock.c
+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c
relocatable.lo: $(srcdir)/relocatable.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
+langprefs.lo: $(srcdir)/langprefs.c
+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c
localename.lo: $(srcdir)/localename.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
log.lo: $(srcdir)/log.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
printf.lo: $(srcdir)/printf.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
+version.lo: $(srcdir)/version.c
+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c
osdep.lo: $(srcdir)/osdep.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
intl-compat.lo: $(srcdir)/intl-compat.c
@@ -233,14 +268,29 @@ ref-del.sed: $(srcdir)/ref-del.sin
INCLUDES = -I. -I$(srcdir) -I..
libgnuintl.h: $(srcdir)/libgnuintl.h.in
- sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
+ sed -e '/IN_LIBGLOCALE/d' \
+ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
-e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
-e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
-e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
- < $(srcdir)/libgnuintl.h.in > libgnuintl.h
-
-libintl.h: libgnuintl.h
- cp libgnuintl.h libintl.h
+ < $(srcdir)/libgnuintl.h.in \
+ | if test '@WOE32DLL@' = yes; then \
+ sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \
+ else \
+ cat; \
+ fi \
+ | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \
+ -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \
+ | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \
+ > libgnuintl.h
+
+libintl.h: $(srcdir)/libgnuintl.h.in
+ sed -e '/IN_LIBGLOCALE/d' \
+ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
+ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
+ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
+ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
+ < $(srcdir)/libgnuintl.h.in > libintl.h
charset.alias: $(srcdir)/config.charset
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@
@@ -257,7 +307,7 @@ install: install-exec install-data
install-exec: all
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
$(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
$(LIBTOOL) --mode=install \
$(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
@@ -271,8 +321,9 @@ install-exec: all
: ; \
fi
if test "$(PACKAGE)" = "gettext-tools" \
- && test '@USE_INCLUDED_LIBINTL@' = no; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir); \
+ && test '@USE_INCLUDED_LIBINTL@' = no \
+ && test @GLIBC2@ != no; then \
+ $(mkdir_p) $(DESTDIR)$(libdir); \
$(LIBTOOL) --mode=install \
$(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
@@ -283,7 +334,7 @@ install-exec: all
: ; \
fi
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
+ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
temp=$(DESTDIR)$(libdir)/t-charset.alias; \
dest=$(DESTDIR)$(libdir)/charset.alias; \
if test -f $(DESTDIR)$(libdir)/charset.alias; then \
@@ -299,7 +350,7 @@ install-exec: all
rm -f $$temp; \
fi; \
fi; \
- $(mkinstalldirs) $(DESTDIR)$(localedir); \
+ $(mkdir_p) $(DESTDIR)$(localedir); \
test -f $(DESTDIR)$(localedir)/locale.alias \
&& orig=$(DESTDIR)$(localedir)/locale.alias \
|| orig=$(srcdir)/locale.alias; \
@@ -313,7 +364,7 @@ install-exec: all
fi
install-data: all
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
$(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
$(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
@@ -341,24 +392,25 @@ install-strip: install
installdirs:
if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
&& test '@USE_INCLUDED_LIBINTL@' = yes; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
else \
: ; \
fi
if test "$(PACKAGE)" = "gettext-tools" \
- && test '@USE_INCLUDED_LIBINTL@' = no; then \
- $(mkinstalldirs) $(DESTDIR)$(libdir); \
+ && test '@USE_INCLUDED_LIBINTL@' = no \
+ && test @GLIBC2@ != no; then \
+ $(mkdir_p) $(DESTDIR)$(libdir); \
else \
: ; \
fi
if test '@USE_INCLUDED_LIBINTL@' = yes; then \
- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
- $(mkinstalldirs) $(DESTDIR)$(localedir); \
+ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \
+ $(mkdir_p) $(DESTDIR)$(localedir); \
else \
: ; \
fi
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
else \
: ; \
fi
@@ -376,7 +428,8 @@ uninstall:
: ; \
fi
if test "$(PACKAGE)" = "gettext-tools" \
- && test '@USE_INCLUDED_LIBINTL@' = no; then \
+ && test '@USE_INCLUDED_LIBINTL@' = no \
+ && test @GLIBC2@ != no; then \
rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
else \
: ; \
@@ -419,14 +472,20 @@ info dvi ps pdf html:
$(OBJECTS): ../config.h libgnuintl.h
bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
-dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
+hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
dcigettext.$lo: $(srcdir)/eval-plural.h
localcharset.$lo: $(srcdir)/localcharset.h
+bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h
localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
+# A bison-2.1 generated plural.c includes <libintl.h> if ENABLE_NLS.
+PLURAL_DEPS_yes = libintl.h
+PLURAL_DEPS_no =
+plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@)
+
tags: TAGS
TAGS: $(HEADERS) $(SOURCES)
@@ -478,7 +537,7 @@ dist distdir: Makefile
$(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
- cp -p $$dir/$$file $(distdir); \
+ cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \
done; \
fi
@@ -486,7 +545,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status
# This would be more efficient, but doesn't work any more with autoconf-2.57,
# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
-# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+# cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/intl/VERSION b/intl/VERSION
index b4b846ca7..fb7452c29 100644
--- a/intl/VERSION
+++ b/intl/VERSION
@@ -1 +1 @@
-GNU gettext library from gettext-0.14.1
+GNU gettext library from gettext-0.15
diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c
index dcdc40085..d1b1f9028 100644
--- a/intl/bindtextdom.c
+++ b/intl/bindtextdom.c
@@ -1,5 +1,5 @@
/* Implementation of the bindtextdomain(3) function
- Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -24,21 +24,21 @@
#include <stdlib.h>
#include <string.h>
+#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
-#include "gettextP.h"
+/* Handle multi-threaded applications. */
#ifdef _LIBC
-/* We have to handle multi-threaded applications. */
# include <bits/libc-lock.h>
+# define gl_rwlock_define __libc_rwlock_define
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
#else
-/* Provide dummy implementation if this is outside glibc. */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
#endif
/* The internal variables in the standalone libintl.a must have different
@@ -59,16 +59,14 @@
/* Contains the default location of the message catalogs. */
extern const char _nl_default_dirname[];
#ifdef _LIBC
-extern const char _nl_default_dirname_internal[] attribute_hidden;
-#else
-# define INTUSE(name) name
+libc_hidden_proto (_nl_default_dirname)
#endif
/* List with bindings of specific domains. */
extern struct binding *_nl_domain_bindings;
/* Lock variable to protect the global data in the gettext implementation. */
-__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
+gl_rwlock_define (extern, _nl_state_lock attribute_hidden)
/* Names for the libintl functions are a problem. They must not clash
@@ -109,7 +107,7 @@ set_binding_values (const char *domainname,
return;
}
- __libc_rwlock_wrlock (_nl_state_lock);
+ gl_rwlock_wrlock (_nl_state_lock);
modified = 0;
@@ -144,8 +142,8 @@ set_binding_values (const char *domainname,
char *result = binding->dirname;
if (strcmp (dirname, result) != 0)
{
- if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
- result = (char *) INTUSE(_nl_default_dirname);
+ if (strcmp (dirname, _nl_default_dirname) == 0)
+ result = (char *) _nl_default_dirname;
else
{
#if defined _LIBC || defined HAVE_STRDUP
@@ -160,7 +158,7 @@ set_binding_values (const char *domainname,
if (__builtin_expect (result != NULL, 1))
{
- if (binding->dirname != INTUSE(_nl_default_dirname))
+ if (binding->dirname != _nl_default_dirname)
free (binding->dirname);
binding->dirname = result;
@@ -201,7 +199,6 @@ set_binding_values (const char *domainname,
free (binding->codeset);
binding->codeset = result;
- binding->codeset_cntr++;
modified = 1;
}
}
@@ -214,7 +211,7 @@ set_binding_values (const char *domainname,
{
/* Simply return the default values. */
if (dirnamep)
- *dirnamep = INTUSE(_nl_default_dirname);
+ *dirnamep = _nl_default_dirname;
if (codesetp)
*codesetp = NULL;
}
@@ -236,11 +233,11 @@ set_binding_values (const char *domainname,
if (dirname == NULL)
/* The default value. */
- dirname = INTUSE(_nl_default_dirname);
+ dirname = _nl_default_dirname;
else
{
- if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
- dirname = INTUSE(_nl_default_dirname);
+ if (strcmp (dirname, _nl_default_dirname) == 0)
+ dirname = _nl_default_dirname;
else
{
char *result;
@@ -263,9 +260,7 @@ set_binding_values (const char *domainname,
}
else
/* The default value. */
- new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
-
- new_binding->codeset_cntr = 0;
+ new_binding->dirname = (char *) _nl_default_dirname;
if (codesetp)
{
@@ -287,7 +282,6 @@ set_binding_values (const char *domainname,
memcpy (result, codeset, len);
#endif
codeset = result;
- new_binding->codeset_cntr++;
}
*codesetp = codeset;
new_binding->codeset = (char *) codeset;
@@ -319,7 +313,7 @@ set_binding_values (const char *domainname,
if (0)
{
failed_codeset:
- if (new_binding->dirname != INTUSE(_nl_default_dirname))
+ if (new_binding->dirname != _nl_default_dirname)
free (new_binding->dirname);
failed_dirname:
free (new_binding);
@@ -335,7 +329,7 @@ set_binding_values (const char *domainname,
if (modified)
++_nl_msg_cat_cntr;
- __libc_rwlock_unlock (_nl_state_lock);
+ gl_rwlock_unlock (_nl_state_lock);
}
/* Specify that the DOMAINNAME message catalog will be found
diff --git a/intl/config.charset b/intl/config.charset
index 43d45fb75..e8c258b3f 100755
--- a/intl/config.charset
+++ b/intl/config.charset
@@ -1,7 +1,7 @@
#! /bin/sh
# Output a system dependent table of character encoding aliases.
#
-# Copyright (C) 2000-2004 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
@@ -15,7 +15,7 @@
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# The table consists of lines of the form
@@ -31,21 +31,21 @@
# The current list of GNU canonical charset names is as follows.
#
# name MIME? used by which systems
-# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin
-# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin
-# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin
+# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin
+# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
+# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
# ISO-8859-3 Y glibc solaris
-# ISO-8859-4 Y osf solaris freebsd darwin
-# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin
+# ISO-8859-4 Y osf solaris freebsd netbsd darwin
+# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin
# ISO-8859-6 Y glibc aix hpux solaris
-# ISO-8859-7 Y glibc aix hpux irix osf solaris
+# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin
# ISO-8859-8 Y glibc aix hpux osf solaris
-# ISO-8859-9 Y glibc aix hpux irix osf solaris
-# ISO-8859-13 glibc
+# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin
+# ISO-8859-13 glibc netbsd darwin
# ISO-8859-14 glibc
-# ISO-8859-15 glibc aix osf solaris freebsd
-# KOI8-R Y glibc solaris freebsd darwin
-# KOI8-U Y glibc freebsd darwin
+# ISO-8859-15 glibc aix osf solaris freebsd darwin
+# KOI8-R Y glibc solaris freebsd netbsd darwin
+# KOI8-U Y glibc freebsd netbsd darwin
# KOI8-T glibc
# CP437 dos
# CP775 dos
@@ -58,7 +58,7 @@
# CP862 dos
# CP864 dos
# CP865 dos
-# CP866 freebsd darwin dos
+# CP866 freebsd netbsd darwin dos
# CP869 dos
# CP874 woe32 dos
# CP922 aix
@@ -71,22 +71,22 @@
# CP1125 dos
# CP1129 aix
# CP1250 woe32
-# CP1251 glibc solaris darwin woe32
+# CP1251 glibc solaris netbsd darwin woe32
# CP1252 aix woe32
# CP1253 woe32
# CP1254 woe32
# CP1255 glibc woe32
# CP1256 woe32
# CP1257 woe32
-# GB2312 Y glibc aix hpux irix solaris freebsd darwin
-# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin
-# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin
-# EUC-TW glibc aix hpux irix osf solaris
-# BIG5 Y glibc aix hpux osf solaris freebsd darwin
+# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
+# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
+# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin
+# EUC-TW glibc aix hpux irix osf solaris netbsd
+# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin
# BIG5-HKSCS glibc solaris
# GBK glibc aix osf solaris woe32 dos
-# GB18030 glibc solaris
-# SHIFT_JIS Y hpux osf solaris freebsd darwin
+# GB18030 glibc solaris netbsd
+# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
# JOHAB glibc solaris woe32
# TIS-620 glibc aix hpux osf solaris
# VISCII Y glibc
@@ -100,7 +100,7 @@
# HP-KANA8 hpux
# DEC-KANJI osf
# DEC-HANYU osf
-# UTF-8 Y glibc aix hpux osf solaris
+# UTF-8 Y glibc aix hpux osf solaris netbsd darwin
#
# Note: Names which are not marked as being a MIME name should not be used in
# Internet protocols for information interchange (mail, news, etc.).
@@ -388,6 +388,8 @@ case "$os" in
echo "ISO8859-2 ISO-8859-2"
echo "ISO8859-4 ISO-8859-4"
echo "ISO8859-5 ISO-8859-5"
+ echo "ISO8859-7 ISO-8859-7"
+ echo "ISO8859-13 ISO-8859-13"
echo "ISO8859-15 ISO-8859-15"
echo "eucCN GB2312"
echo "eucJP EUC-JP"
@@ -396,7 +398,7 @@ case "$os" in
echo "BIG5 BIG5"
echo "SJIS SHIFT_JIS"
;;
- darwin*)
+ darwin[56]*)
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
# localcharset.c falls back to using the full locale name
# from the environment variables.
@@ -437,6 +439,36 @@ case "$os" in
echo "ja_JP.SJIS SHIFT_JIS"
echo "ko_KR.EUC EUC-KR"
;;
+ darwin*)
+ # Darwin 7.5 has nl_langinfo(CODESET), but it is useless:
+ # - It returns the empty string when LANG is set to a locale of the
+ # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
+ # LC_CTYPE file.
+ # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
+ # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
+ # - The documentation says:
+ # "... all code that calls BSD system routines should ensure
+ # that the const *char parameters of these routines are in UTF-8
+ # encoding. All BSD system functions expect their string
+ # parameters to be in UTF-8 encoding and nothing else."
+ # It also says
+ # "An additional caveat is that string parameters for files,
+ # paths, and other file-system entities must be in canonical
+ # UTF-8. In a canonical UTF-8 Unicode string, all decomposable
+ # characters are decomposed ..."
+ # but this is not true: You can pass non-decomposed UTF-8 strings
+ # to file system functions, and it is the OS which will convert
+ # them to decomposed UTF-8 before accessing the file system.
+ # - The Apple Terminal application displays UTF-8 by default.
+ # - However, other applications are free to use different encodings:
+ # - xterm uses ISO-8859-1 by default.
+ # - TextEdit uses MacRoman by default.
+ # We prefer UTF-8 over decomposed UTF-8-MAC because one should
+ # minimize the use of decomposed Unicode. Unfortunately, through the
+ # Darwin file system, decomposed UTF-8 strings are leaked into user
+ # space nevertheless.
+ echo "* UTF-8"
+ ;;
beos*)
# BeOS has a single locale, and it has UTF-8 encoding.
echo "* UTF-8"
@@ -450,7 +482,7 @@ case "$os" in
echo "# If you find that the encoding given for your language and"
echo "# country is not the one your DOS machine actually uses, just"
echo "# correct it in this file, and send a mail to"
- echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
+ echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
echo "# and Bruno Haible <bruno@clisp.org>."
echo "#"
echo "C ASCII"
diff --git a/intl/dcgettext.c b/intl/dcgettext.c
index 850acdee9..c2a63f08e 100644
--- a/intl/dcgettext.c
+++ b/intl/dcgettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 35238e2cb..583976821 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -1,5 +1,5 @@
/* Implementation of the internal dcigettext function.
- Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
@@ -27,6 +27,9 @@
# include <config.h>
#endif
+/* NL_LOCALE_NAME does not work in glibc-2.4. Ignore it. */
+#undef HAVE_NL_LOCALE_NAME
+
#include <sys/types.h>
#ifdef __GNUC__
@@ -87,26 +90,31 @@ extern int errno;
# include <sys/param.h>
#endif
+#if !defined _LIBC && HAVE_NL_LOCALE_NAME
+# include <langinfo.h>
+#endif
+
#include "gettextP.h"
#include "plural-exp.h"
#ifdef _LIBC
# include <libintl.h>
#else
+# ifdef IN_LIBGLOCALE
+# include <libintl.h>
+# endif
# include "libgnuintl.h"
#endif
#include "hash-string.h"
-/* Thread safetyness. */
+/* Handle multi-threaded applications. */
#ifdef _LIBC
# include <bits/libc-lock.h>
+# define gl_rwlock_define_initialized __libc_rwlock_define_initialized
+# define gl_rwlock_rdlock __libc_rwlock_rdlock
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
#else
-/* Provide dummy implementation if this is outside glibc. */
-# define __libc_lock_define_initialized(CLASS, NAME)
-# define __libc_lock_lock(NAME)
-# define __libc_lock_unlock(NAME)
-# define __libc_rwlock_define_initialized(CLASS, NAME)
-# define __libc_rwlock_rdlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
#endif
/* Alignment of types. */
@@ -200,8 +208,8 @@ static void *mempcpy (void *dest, const void *src, size_t n);
it may be concatenated to a directory pathname.
IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
*/
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
- /* Win32, OS/2, DOS */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
# define HAS_DEVICE(P) \
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
@@ -216,16 +224,31 @@ static void *mempcpy (void *dest, const void *src, size_t n);
# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
#endif
+/* Whether to support different locales in different threads. */
+#if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE
+# define HAVE_PER_THREAD_LOCALE
+#endif
+
/* This is the type used for the search tree where known translations
are stored. */
struct known_translation_t
{
/* Domain in which to search. */
- char *domainname;
+ const char *domainname;
/* The category. */
int category;
+#ifdef HAVE_PER_THREAD_LOCALE
+ /* Name of the relevant locale category, or "" for the global locale. */
+ const char *localename;
+#endif
+
+#ifdef IN_LIBGLOCALE
+ /* The character encoding. */
+ const char *encoding;
+#endif
+
/* State of the catalog counter at the point the string was found. */
int counter;
@@ -245,6 +268,8 @@ struct known_translation_t
#if defined HAVE_TSEARCH || defined _LIBC
# include <search.h>
+gl_rwlock_define_initialized (static, tree_lock)
+
static void *root;
# ifdef _LIBC
@@ -267,57 +292,86 @@ transcmp (const void *p1, const void *p2)
{
result = strcmp (s1->domainname, s2->domainname);
if (result == 0)
- /* We compare the category last (though this is the cheapest
- operation) since it is hopefully always the same (namely
- LC_MESSAGES). */
- result = s1->category - s2->category;
+ {
+#ifdef HAVE_PER_THREAD_LOCALE
+ result = strcmp (s1->localename, s2->localename);
+ if (result == 0)
+#endif
+ {
+#ifdef IN_LIBGLOCALE
+ result = strcmp (s1->encoding, s2->encoding);
+ if (result == 0)
+#endif
+ /* We compare the category last (though this is the cheapest
+ operation) since it is hopefully always the same (namely
+ LC_MESSAGES). */
+ result = s1->category - s2->category;
+ }
+ }
}
return result;
}
#endif
-#ifndef INTVARDEF
-# define INTVARDEF(name)
-#endif
-#ifndef INTUSE
-# define INTUSE(name) name
-#endif
-
/* Name of the default domain used for gettext(3) prior any call to
textdomain(3). The default value for this is "messages". */
const char _nl_default_default_domain[] attribute_hidden = "messages";
+#ifndef IN_LIBGLOCALE
/* Value used as the default domain for gettext(3). */
const char *_nl_current_default_domain attribute_hidden
= _nl_default_default_domain;
+#endif
/* Contains the default location of the message catalogs. */
#if defined __EMX__
extern const char _nl_default_dirname[];
#else
+# ifdef _LIBC
+extern const char _nl_default_dirname[];
+libc_hidden_proto (_nl_default_dirname)
+# endif
const char _nl_default_dirname[] = LOCALEDIR;
-INTVARDEF (_nl_default_dirname)
+# ifdef _LIBC
+libc_hidden_data_def (_nl_default_dirname)
+# endif
#endif
+#ifndef IN_LIBGLOCALE
/* List with bindings of specific domains created by bindtextdomain()
calls. */
struct binding *_nl_domain_bindings;
+#endif
/* Prototypes for local functions. */
static char *plural_lookup (struct loaded_l10nfile *domain,
unsigned long int n,
const char *translation, size_t translation_len)
internal_function;
+
+#ifdef IN_LIBGLOCALE
+static const char *guess_category_value (int category,
+ const char *categoryname,
+ const char *localename)
+ internal_function;
+#else
static const char *guess_category_value (int category,
const char *categoryname)
internal_function;
+#endif
+
#ifdef _LIBC
# include "../locale/localeinfo.h"
-# define category_to_name(category) _nl_category_names[category]
+# define category_to_name(category) \
+ _nl_category_names.str + _nl_category_name_idxs[category]
#else
static const char *category_to_name (int category) internal_function;
#endif
+#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE
+static const char *get_output_charset (struct binding *domainbinding)
+ internal_function;
+#endif
/* For those loosing systems which don't have `alloca' we have to add
@@ -383,9 +437,7 @@ typedef unsigned char transmem_block_t;
#endif
/* Lock variable to protect the global data in the gettext implementation. */
-#ifdef _LIBC
-__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
-#endif
+gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
/* Checking whether the binaries runs SUID must be done and glibc provides
easier methods therefore we make a difference here. */
@@ -423,9 +475,18 @@ static int enable_secure;
/* Look up MSGID in the DOMAINNAME message catalog for the current
CATEGORY locale and, if PLURAL is nonzero, search over string
depending on the plural form determined by N. */
+#ifdef IN_LIBGLOCALE
+char *
+gl_dcigettext (const char *domainname,
+ const char *msgid1, const char *msgid2,
+ int plural, unsigned long int n,
+ int category,
+ const char *localename, const char *encoding)
+#else
char *
DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
int plural, unsigned long int n, int category)
+#endif
{
#ifndef HAVE_ALLOCA
struct block_list *block_list = NULL;
@@ -434,7 +495,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
struct binding *binding;
const char *categoryname;
const char *categoryvalue;
- char *dirname, *xdomainname;
+ const char *dirname;
+ char *xdomainname;
char *single_locale;
char *retval;
size_t retlen;
@@ -443,6 +505,9 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
struct known_translation_t *search;
struct known_translation_t **foundp = NULL;
size_t msgid_len;
+# if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE
+ const char *localename;
+# endif
#endif
size_t domainname_len;
@@ -459,7 +524,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
: n == 1 ? (char *) msgid1 : (char *) msgid2);
#endif
- __libc_rwlock_rdlock (_nl_state_lock);
+ gl_rwlock_rdlock (_nl_state_lock);
/* If DOMAINNAME is NULL, we are interested in the default domain. If
CATEGORY is not LC_MESSAGES this might not make much sense but the
@@ -481,10 +546,45 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
search = (struct known_translation_t *)
alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
memcpy (search->msgid, msgid1, msgid_len);
- search->domainname = (char *) domainname;
+ search->domainname = domainname;
search->category = category;
+# ifdef HAVE_PER_THREAD_LOCALE
+# ifndef IN_LIBGLOCALE
+# ifdef _LIBC
+ localename = __current_locale_name (category);
+# else
+# if HAVE_NL_LOCALE_NAME
+ /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */
+ localename = nl_langinfo (NL_LOCALE_NAME (category));
+# else
+# if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS
+ /* The __names field is not public glibc API and must therefore not be used
+ in code that is installed in public locations. */
+ {
+ locale_t thread_locale = uselocale (NULL);
+ if (thread_locale != LC_GLOBAL_LOCALE)
+ localename = thread_locale->__names[category];
+ else
+ localename = "";
+ }
+# endif
+# endif
+# endif
+# endif
+ search->localename = localename;
+# ifdef IN_LIBGLOCALE
+ search->encoding = encoding;
+# endif
+# endif
+
+ /* Since tfind/tsearch manage a balanced tree, concurrent tfind and
+ tsearch calls can be fatal. */
+ gl_rwlock_rdlock (tree_lock);
foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
+
+ gl_rwlock_unlock (tree_lock);
+
freea (search);
if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
{
@@ -495,7 +595,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
else
retval = (char *) (*foundp)->translation;
- __libc_rwlock_unlock (_nl_state_lock);
+ gl_rwlock_unlock (_nl_state_lock);
return retval;
}
#endif
@@ -507,6 +607,12 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
DETERMINE_SECURE;
/* First find matching binding. */
+#ifdef IN_LIBGLOCALE
+ /* We can use a trivial binding, since _nl_find_msg will ignore it anyway,
+ and _nl_load_domain and _nl_find_domain just pass it through. */
+ binding = NULL;
+ dirname = bindtextdomain (domainname, NULL);
+#else
for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
{
int compare = strcmp (domainname, binding->domainname);
@@ -522,44 +628,55 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
}
if (binding == NULL)
- dirname = (char *) INTUSE(_nl_default_dirname);
- else if (IS_ABSOLUTE_PATH (binding->dirname))
- dirname = binding->dirname;
+ dirname = _nl_default_dirname;
else
{
- /* We have a relative path. Make it absolute now. */
- size_t dirname_len = strlen (binding->dirname) + 1;
- size_t path_max;
- char *ret;
+ dirname = binding->dirname;
+#endif
+ if (!IS_ABSOLUTE_PATH (dirname))
+ {
+ /* We have a relative path. Make it absolute now. */
+ size_t dirname_len = strlen (dirname) + 1;
+ size_t path_max;
+ char *resolved_dirname;
+ char *ret;
- path_max = (unsigned int) PATH_MAX;
- path_max += 2; /* The getcwd docs say to do this. */
+ path_max = (unsigned int) PATH_MAX;
+ path_max += 2; /* The getcwd docs say to do this. */
- for (;;)
- {
- dirname = (char *) alloca (path_max + dirname_len);
- ADD_BLOCK (block_list, dirname);
+ for (;;)
+ {
+ resolved_dirname = (char *) alloca (path_max + dirname_len);
+ ADD_BLOCK (block_list, tmp_dirname);
- __set_errno (0);
- ret = getcwd (dirname, path_max);
- if (ret != NULL || errno != ERANGE)
- break;
+ __set_errno (0);
+ ret = getcwd (resolved_dirname, path_max);
+ if (ret != NULL || errno != ERANGE)
+ break;
- path_max += path_max / 2;
- path_max += PATH_INCR;
- }
+ path_max += path_max / 2;
+ path_max += PATH_INCR;
+ }
- if (ret == NULL)
- /* We cannot get the current working directory. Don't signal an
- error but simply return the default string. */
- goto return_untranslated;
+ if (ret == NULL)
+ /* We cannot get the current working directory. Don't signal an
+ error but simply return the default string. */
+ goto return_untranslated;
- stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
+ stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname);
+ dirname = resolved_dirname;
+ }
+#ifndef IN_LIBGLOCALE
}
+#endif
/* Now determine the symbolic name of CATEGORY and its value. */
categoryname = category_to_name (category);
+#ifdef IN_LIBGLOCALE
+ categoryvalue = guess_category_value (category, categoryname, localename);
+#else
categoryvalue = guess_category_value (category, categoryname);
+#endif
domainname_len = strlen (domainname);
xdomainname = (char *) alloca (strlen (categoryname)
@@ -617,7 +734,11 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
if (domain != NULL)
{
- retval = _nl_find_msg (domain, binding, msgid1, &retlen);
+#if defined IN_LIBGLOCALE
+ retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen);
+#else
+ retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen);
+#endif
if (retval == NULL)
{
@@ -625,8 +746,13 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
{
+#if defined IN_LIBGLOCALE
+ retval = _nl_find_msg (domain->successor[cnt], binding,
+ encoding, msgid1, &retlen);
+#else
retval = _nl_find_msg (domain->successor[cnt], binding,
- msgid1, &retlen);
+ msgid1, 1, &retlen);
+#endif
if (retval != NULL)
{
@@ -636,6 +762,12 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
}
}
+ /* Returning -1 means that some resource problem exists
+ (likely memory) and that the strings could not be
+ converted. Return the original strings. */
+ if (__builtin_expect (retval == (char *) -1, 0))
+ break;
+
if (retval != NULL)
{
/* Found the translation of MSGID1 in domain DOMAIN:
@@ -645,25 +777,49 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
if (foundp == NULL)
{
/* Create a new entry and add it to the search tree. */
+ size_t size;
struct known_translation_t *newp;
- newp = (struct known_translation_t *)
- malloc (offsetof (struct known_translation_t, msgid)
- + msgid_len + domainname_len + 1);
+ size = offsetof (struct known_translation_t, msgid)
+ + msgid_len + domainname_len + 1;
+# ifdef HAVE_PER_THREAD_LOCALE
+ size += strlen (localename) + 1;
+# endif
+ newp = (struct known_translation_t *) malloc (size);
if (newp != NULL)
{
- newp->domainname =
- mempcpy (newp->msgid, msgid1, msgid_len);
- memcpy (newp->domainname, domainname, domainname_len + 1);
+ char *new_domainname;
+# ifdef HAVE_PER_THREAD_LOCALE
+ char *new_localename;
+# endif
+
+ new_domainname = mempcpy (newp->msgid, msgid1, msgid_len);
+ memcpy (new_domainname, domainname, domainname_len + 1);
+# ifdef HAVE_PER_THREAD_LOCALE
+ new_localename = new_domainname + domainname_len + 1;
+ strcpy (new_localename, localename);
+# endif
+ newp->domainname = new_domainname;
newp->category = category;
+# ifdef HAVE_PER_THREAD_LOCALE
+ newp->localename = new_localename;
+# endif
+# ifdef IN_LIBGLOCALE
+ newp->encoding = encoding;
+# endif
newp->counter = _nl_msg_cat_cntr;
newp->domain = domain;
newp->translation = retval;
newp->translation_length = retlen;
+ gl_rwlock_wrlock (tree_lock);
+
/* Insert the entry in the search tree. */
foundp = (struct known_translation_t **)
tsearch (newp, &root, transcmp);
+
+ gl_rwlock_unlock (tree_lock);
+
if (foundp == NULL
|| __builtin_expect (*foundp != newp, 0))
/* The insert failed. */
@@ -685,7 +841,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
if (plural)
retval = plural_lookup (domain, n, retval, retlen);
- __libc_rwlock_unlock (_nl_state_lock);
+ gl_rwlock_unlock (_nl_state_lock);
return retval;
}
}
@@ -694,7 +850,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
return_untranslated:
/* Return the untranslated MSGID. */
FREE_BLOCKS (block_list);
- __libc_rwlock_unlock (_nl_state_lock);
+ gl_rwlock_unlock (_nl_state_lock);
#ifndef _LIBC
if (!ENABLE_SECURE)
{
@@ -716,11 +872,24 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
}
+/* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING.
+ Return it if found. Return NULL if not found or in case of a conversion
+ failure (problem in the particular message catalog). Return (char *) -1
+ in case of a memory allocation failure during conversion (only if
+ ENCODING != NULL resp. CONVERT == true). */
char *
internal_function
+#ifdef IN_LIBGLOCALE
_nl_find_msg (struct loaded_l10nfile *domain_file,
- struct binding *domainbinding, const char *msgid,
+ struct binding *domainbinding, const char *encoding,
+ const char *msgid,
size_t *lengthp)
+#else
+_nl_find_msg (struct loaded_l10nfile *domain_file,
+ struct binding *domainbinding,
+ const char *msgid, int convert,
+ size_t *lengthp)
+#endif
{
struct loaded_domain *domain;
nls_uint32 nstrings;
@@ -728,7 +897,7 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,
char *result;
size_t resultlen;
- if (domain_file->decided == 0)
+ if (domain_file->decided <= 0)
_nl_load_domain (domain_file, domainbinding);
if (domain_file->data == NULL)
@@ -743,7 +912,7 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,
{
/* Use the hashing table. */
nls_uint32 len = strlen (msgid);
- nls_uint32 hash_val = hash_string (msgid);
+ nls_uint32 hash_val = __hash_string (msgid);
nls_uint32 idx = hash_val % domain->hash_size;
nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
@@ -826,195 +995,345 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,
}
#if defined _LIBC || HAVE_ICONV
- if (domain->codeset_cntr
- != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
+# ifdef IN_LIBGLOCALE
+ if (encoding != NULL)
+# else
+ if (convert)
+# endif
{
- /* The domain's codeset has changed through bind_textdomain_codeset()
- since the message catalog was initialized or last accessed. We
- have to reinitialize the converter. */
- _nl_free_domain_conv (domain);
- _nl_init_domain_conv (domain_file, domain, domainbinding);
- }
+ /* We are supposed to do a conversion. */
+# ifndef IN_LIBGLOCALE
+ const char *encoding = get_output_charset (domainbinding);
+# endif
+
+ /* Search whether a table with converted translations for this
+ encoding has already been allocated. */
+ size_t nconversions = domain->nconversions;
+ struct converted_domain *convd = NULL;
+ size_t i;
+
+ for (i = nconversions; i > 0; )
+ {
+ i--;
+ if (strcmp (domain->conversions[i].encoding, encoding) == 0)
+ {
+ convd = &domain->conversions[i];
+ break;
+ }
+ }
- if (
+ if (convd == NULL)
+ {
+ /* Allocate a table for the converted translations for this
+ encoding. */
+ struct converted_domain *new_conversions =
+ (struct converted_domain *)
+ (domain->conversions != NULL
+ ? realloc (domain->conversions,
+ (nconversions + 1) * sizeof (struct converted_domain))
+ : malloc ((nconversions + 1) * sizeof (struct converted_domain)));
+
+ if (__builtin_expect (new_conversions == NULL, 0))
+ /* Nothing we can do, no more memory. We cannot use the
+ translation because it might be encoded incorrectly. */
+ return (char *) -1;
+
+ domain->conversions = new_conversions;
+
+ /* Copy the 'encoding' string to permanent storage. */
+ encoding = strdup (encoding);
+ if (__builtin_expect (encoding == NULL, 0))
+ /* Nothing we can do, no more memory. We cannot use the
+ translation because it might be encoded incorrectly. */
+ return (char *) -1;
+
+ convd = &new_conversions[nconversions];
+ convd->encoding = encoding;
+
+ /* Find out about the character set the file is encoded with.
+ This can be found (in textual form) in the entry "". If this
+ entry does not exist or if this does not contain the 'charset='
+ information, we will assume the charset matches the one the
+ current locale and we don't have to perform any conversion. */
# ifdef _LIBC
- domain->conv != (__gconv_t) -1
+ convd->conv = (__gconv_t) -1;
# else
# if HAVE_ICONV
- domain->conv != (iconv_t) -1
+ convd->conv = (iconv_t) -1;
# endif
# endif
- )
- {
- /* We are supposed to do a conversion. First allocate an
- appropriate table with the same structure as the table
- of translations in the file, where we can put the pointers
- to the converted strings in.
- There is a slight complication with plural entries. They
- are represented by consecutive NUL terminated strings. We
- handle this case by converting RESULTLEN bytes, including
- NULs. */
-
- if (domain->conv_tab == NULL
- && ((domain->conv_tab =
- (char **) calloc (nstrings + domain->n_sysdep_strings,
- sizeof (char *)))
- == NULL))
- /* Mark that we didn't succeed allocating a table. */
- domain->conv_tab = (char **) -1;
-
- if (__builtin_expect (domain->conv_tab == (char **) -1, 0))
- /* Nothing we can do, no more memory. */
- goto converted;
-
- if (domain->conv_tab[act] == NULL)
+ {
+ char *nullentry;
+ size_t nullentrylen;
+
+ /* Get the header entry. This is a recursion, but it doesn't
+ reallocate domain->conversions because we pass
+ encoding = NULL or convert = 0, respectively. */
+ nullentry =
+# ifdef IN_LIBGLOCALE
+ _nl_find_msg (domain_file, domainbinding, NULL, "",
+ &nullentrylen);
+# else
+ _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
+# endif
+
+ if (nullentry != NULL)
+ {
+ const char *charsetstr;
+
+ charsetstr = strstr (nullentry, "charset=");
+ if (charsetstr != NULL)
+ {
+ size_t len;
+ char *charset;
+ const char *outcharset;
+
+ charsetstr += strlen ("charset=");
+ len = strcspn (charsetstr, " \t\n");
+
+ charset = (char *) alloca (len + 1);
+# if defined _LIBC || HAVE_MEMPCPY
+ *((char *) mempcpy (charset, charsetstr, len)) = '\0';
+# else
+ memcpy (charset, charsetstr, len);
+ charset[len] = '\0';
+# endif
+
+ outcharset = encoding;
+
+# ifdef _LIBC
+ /* We always want to use transliteration. */
+ outcharset = norm_add_slashes (outcharset, "TRANSLIT");
+ charset = norm_add_slashes (charset, "");
+ int r = __gconv_open (outcharset, charset, &convd->conv,
+ GCONV_AVOID_NOCONV);
+ if (__builtin_expect (r != __GCONV_OK, 0))
+ {
+ /* If the output encoding is the same there is
+ nothing to do. Otherwise do not use the
+ translation at all. */
+ if (__builtin_expect (r != __GCONV_NOCONV, 1))
+ return NULL;
+
+ convd->conv = (__gconv_t) -1;
+ }
+# else
+# if HAVE_ICONV
+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
+ we want to use transliteration. */
+# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
+ || _LIBICONV_VERSION >= 0x0105
+ if (strchr (outcharset, '/') == NULL)
+ {
+ char *tmp;
+
+ len = strlen (outcharset);
+ tmp = (char *) alloca (len + 10 + 1);
+ memcpy (tmp, outcharset, len);
+ memcpy (tmp + len, "//TRANSLIT", 10 + 1);
+ outcharset = tmp;
+
+ convd->conv = iconv_open (outcharset, charset);
+
+ freea (outcharset);
+ }
+ else
+# endif
+ convd->conv = iconv_open (outcharset, charset);
+# endif
+# endif
+
+ freea (charset);
+ }
+ }
+ }
+ convd->conv_tab = NULL;
+ /* Here domain->conversions is still == new_conversions. */
+ domain->nconversions++;
+ }
+
+ if (
+# ifdef _LIBC
+ convd->conv != (__gconv_t) -1
+# else
+# if HAVE_ICONV
+ convd->conv != (iconv_t) -1
+# endif
+# endif
+ )
{
- /* We haven't used this string so far, so it is not
- translated yet. Do this now. */
- /* We use a bit more efficient memory handling.
- We allocate always larger blocks which get used over
- time. This is faster than many small allocations. */
- __libc_lock_define_initialized (static, lock)
+ /* We are supposed to do a conversion. First allocate an
+ appropriate table with the same structure as the table
+ of translations in the file, where we can put the pointers
+ to the converted strings in.
+ There is a slight complication with plural entries. They
+ are represented by consecutive NUL terminated strings. We
+ handle this case by converting RESULTLEN bytes, including
+ NULs. */
+
+ if (convd->conv_tab == NULL
+ && ((convd->conv_tab =
+ (char **) calloc (nstrings + domain->n_sysdep_strings,
+ sizeof (char *)))
+ == NULL))
+ /* Mark that we didn't succeed allocating a table. */
+ convd->conv_tab = (char **) -1;
+
+ if (__builtin_expect (convd->conv_tab == (char **) -1, 0))
+ /* Nothing we can do, no more memory. We cannot use the
+ translation because it might be encoded incorrectly. */
+ return (char *) -1;
+
+ if (convd->conv_tab[act] == NULL)
+ {
+ /* We haven't used this string so far, so it is not
+ translated yet. Do this now. */
+ /* We use a bit more efficient memory handling.
+ We allocate always larger blocks which get used over
+ time. This is faster than many small allocations. */
+ __libc_lock_define_initialized (static, lock)
# define INITIAL_BLOCK_SIZE 4080
- static unsigned char *freemem;
- static size_t freemem_size;
+ static unsigned char *freemem;
+ static size_t freemem_size;
- const unsigned char *inbuf;
- unsigned char *outbuf;
- int malloc_count;
+ const unsigned char *inbuf;
+ unsigned char *outbuf;
+ int malloc_count;
# ifndef _LIBC
- transmem_block_t *transmem_list = NULL;
+ transmem_block_t *transmem_list = NULL;
# endif
- __libc_lock_lock (lock);
+ __libc_lock_lock (lock);
- inbuf = (const unsigned char *) result;
- outbuf = freemem + sizeof (size_t);
+ inbuf = (const unsigned char *) result;
+ outbuf = freemem + sizeof (size_t);
- malloc_count = 0;
- while (1)
- {
- transmem_block_t *newmem;
+ malloc_count = 0;
+ while (1)
+ {
+ transmem_block_t *newmem;
# ifdef _LIBC
- size_t non_reversible;
- int res;
+ size_t non_reversible;
+ int res;
- if (freemem_size < sizeof (size_t))
- goto resize_freemem;
+ if (freemem_size < sizeof (size_t))
+ goto resize_freemem;
- res = __gconv (domain->conv,
- &inbuf, inbuf + resultlen,
- &outbuf,
- outbuf + freemem_size - sizeof (size_t),
- &non_reversible);
+ res = __gconv (convd->conv,
+ &inbuf, inbuf + resultlen,
+ &outbuf,
+ outbuf + freemem_size - sizeof (size_t),
+ &non_reversible);
- if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
- break;
+ if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
+ break;
- if (res != __GCONV_FULL_OUTPUT)
- {
- __libc_lock_unlock (lock);
- goto converted;
- }
+ if (res != __GCONV_FULL_OUTPUT)
+ {
+ /* We should not use the translation at all, it
+ is incorrectly encoded. */
+ __libc_lock_unlock (lock);
+ return NULL;
+ }
- inbuf = result;
+ inbuf = (const unsigned char *) result;
# else
# if HAVE_ICONV
- const char *inptr = (const char *) inbuf;
- size_t inleft = resultlen;
- char *outptr = (char *) outbuf;
- size_t outleft;
-
- if (freemem_size < sizeof (size_t))
- goto resize_freemem;
-
- outleft = freemem_size - sizeof (size_t);
- if (iconv (domain->conv,
- (ICONV_CONST char **) &inptr, &inleft,
- &outptr, &outleft)
- != (size_t) (-1))
- {
- outbuf = (unsigned char *) outptr;
- break;
- }
- if (errno != E2BIG)
- {
- __libc_lock_unlock (lock);
- goto converted;
- }
+ const char *inptr = (const char *) inbuf;
+ size_t inleft = resultlen;
+ char *outptr = (char *) outbuf;
+ size_t outleft;
+
+ if (freemem_size < sizeof (size_t))
+ goto resize_freemem;
+
+ outleft = freemem_size - sizeof (size_t);
+ if (iconv (convd->conv,
+ (ICONV_CONST char **) &inptr, &inleft,
+ &outptr, &outleft)
+ != (size_t) (-1))
+ {
+ outbuf = (unsigned char *) outptr;
+ break;
+ }
+ if (errno != E2BIG)
+ {
+ __libc_lock_unlock (lock);
+ return NULL;
+ }
# endif
# endif
- resize_freemem:
- /* We must allocate a new buffer or resize the old one. */
- if (malloc_count > 0)
- {
- ++malloc_count;
- freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
- newmem = (transmem_block_t *) realloc (transmem_list,
- freemem_size);
+ resize_freemem:
+ /* We must allocate a new buffer or resize the old one. */
+ if (malloc_count > 0)
+ {
+ ++malloc_count;
+ freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
+ newmem = (transmem_block_t *) realloc (transmem_list,
+ freemem_size);
# ifdef _LIBC
- if (newmem != NULL)
- transmem_list = transmem_list->next;
+ if (newmem != NULL)
+ transmem_list = transmem_list->next;
+ else
+ {
+ struct transmem_list *old = transmem_list;
+
+ transmem_list = transmem_list->next;
+ free (old);
+ }
+# endif
+ }
else
{
- struct transmem_list *old = transmem_list;
-
- transmem_list = transmem_list->next;
- free (old);
+ malloc_count = 1;
+ freemem_size = INITIAL_BLOCK_SIZE;
+ newmem = (transmem_block_t *) malloc (freemem_size);
+ }
+ if (__builtin_expect (newmem == NULL, 0))
+ {
+ freemem = NULL;
+ freemem_size = 0;
+ __libc_lock_unlock (lock);
+ return (char *) -1;
}
-# endif
- }
- else
- {
- malloc_count = 1;
- freemem_size = INITIAL_BLOCK_SIZE;
- newmem = (transmem_block_t *) malloc (freemem_size);
- }
- if (__builtin_expect (newmem == NULL, 0))
- {
- freemem = NULL;
- freemem_size = 0;
- __libc_lock_unlock (lock);
- goto converted;
- }
# ifdef _LIBC
- /* Add the block to the list of blocks we have to free
- at some point. */
- newmem->next = transmem_list;
- transmem_list = newmem;
+ /* Add the block to the list of blocks we have to free
+ at some point. */
+ newmem->next = transmem_list;
+ transmem_list = newmem;
- freemem = newmem->data;
- freemem_size -= offsetof (struct transmem_list, data);
+ freemem = (unsigned char *) newmem->data;
+ freemem_size -= offsetof (struct transmem_list, data);
# else
- transmem_list = newmem;
- freemem = newmem;
+ transmem_list = newmem;
+ freemem = newmem;
# endif
- outbuf = freemem + sizeof (size_t);
+ outbuf = freemem + sizeof (size_t);
+ }
+
+ /* We have now in our buffer a converted string. Put this
+ into the table of conversions. */
+ *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
+ convd->conv_tab[act] = (char *) freemem;
+ /* Shrink freemem, but keep it aligned. */
+ freemem_size -= outbuf - freemem;
+ freemem = outbuf;
+ freemem += freemem_size & (alignof (size_t) - 1);
+ freemem_size = freemem_size & ~ (alignof (size_t) - 1);
+
+ __libc_lock_unlock (lock);
}
- /* We have now in our buffer a converted string. Put this
- into the table of conversions. */
- *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
- domain->conv_tab[act] = (char *) freemem;
- /* Shrink freemem, but keep it aligned. */
- freemem_size -= outbuf - freemem;
- freemem = outbuf;
- freemem += freemem_size & (alignof (size_t) - 1);
- freemem_size = freemem_size & ~ (alignof (size_t) - 1);
-
- __libc_lock_unlock (lock);
+ /* Now convd->conv_tab[act] contains the translation of all
+ the plural variants. */
+ result = convd->conv_tab[act] + sizeof (size_t);
+ resultlen = *(size_t *) convd->conv_tab[act];
}
-
- /* Now domain->conv_tab[act] contains the translation of all
- the plural variants. */
- result = domain->conv_tab[act] + sizeof (size_t);
- resultlen = *(size_t *) domain->conv_tab[act];
}
- converted:
/* The result string is converted. */
#endif /* _LIBC || HAVE_ICONV */
@@ -1122,31 +1441,73 @@ category_to_name (int category)
}
#endif
-/* Guess value of current locale from value of the environment variables. */
+/* Guess value of current locale from value of the environment variables
+ or system-dependent defaults. */
static const char *
internal_function
+#ifdef IN_LIBGLOCALE
+guess_category_value (int category, const char *categoryname,
+ const char *locale)
+
+#else
guess_category_value (int category, const char *categoryname)
+#endif
{
const char *language;
- const char *retval;
-
- /* The highest priority value is the `LANGUAGE' environment
- variable. But we don't use the value if the currently selected
- locale is the C locale. This is a GNU extension. */
- language = getenv ("LANGUAGE");
- if (language != NULL && language[0] == '\0')
- language = NULL;
+#ifndef IN_LIBGLOCALE
+ const char *locale;
+# ifndef _LIBC
+ const char *language_default;
+ int locale_defaulted;
+# endif
+#endif
- /* We have to proceed with the POSIX methods of looking to `LC_ALL',
+ /* We use the settings in the following order:
+ 1. The value of the environment variable 'LANGUAGE'. This is a GNU
+ extension. Its value can be a colon-separated list of locale names.
+ 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'.
+ More precisely, the first among these that is set to a non-empty value.
+ This is how POSIX specifies it. The value is a single locale name.
+ 3. A system-dependent preference list of languages. Its value can be a
+ colon-separated list of locale names.
+ 4. A system-dependent default locale name.
+ This way:
+ - System-dependent settings can be overridden by environment variables.
+ - If the system provides both a list of languages and a default locale,
+ the former is used. */
+
+#ifndef IN_LIBGLOCALE
+ /* Fetch the locale name, through the POSIX method of looking to `LC_ALL',
`LC_xxx', and `LANG'. On some systems this can be done by the
`setlocale' function itself. */
-#ifdef _LIBC
- retval = __current_locale_name (category);
-#else
- retval = _nl_locale_name (category, categoryname);
+# ifdef _LIBC
+ locale = __current_locale_name (category);
+# else
+# if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS
+ /* The __names field is not public glibc API and must therefore not be used
+ in code that is installed in public locations. */
+ locale_t thread_locale = uselocale (NULL);
+ if (thread_locale != LC_GLOBAL_LOCALE)
+ {
+ locale = thread_locale->__names[category];
+ locale_defaulted = 0;
+ }
+ else
+# endif
+ {
+ locale = _nl_locale_name_posix (category, categoryname);
+ locale_defaulted = 0;
+ if (locale == NULL)
+ {
+ locale = _nl_locale_name_default ();
+ locale_defaulted = 1;
+ }
+ }
+# endif
#endif
- /* Ignore LANGUAGE if the locale is set to "C" because
+ /* Ignore LANGUAGE and its system-dependent analogon if the locale is set
+ to "C" because
1. "C" locale usually uses the ASCII encoding, and most international
messages use non-ASCII characters. These characters get displayed
as question marks (if using glibc's iconv()) or as invalid 8-bit
@@ -1154,9 +1515,83 @@ guess_category_value (int category, const char *categoryname)
characters to ASCII). In any case, the output is ugly.
2. The precise output of some programs in the "C" locale is specified
by POSIX and should not depend on environment variables like
- "LANGUAGE". We allow such programs to use gettext(). */
- return language != NULL && strcmp (retval, "C") != 0 ? language : retval;
+ "LANGUAGE" or system-dependent information. We allow such programs
+ to use gettext(). */
+ if (strcmp (locale, "C") == 0)
+ return locale;
+
+ /* The highest priority value is the value of the 'LANGUAGE' environment
+ variable. */
+ language = getenv ("LANGUAGE");
+ if (language != NULL && language[0] != '\0')
+ return language;
+#if !defined IN_LIBGLOCALE && !defined _LIBC
+ /* The next priority value is the locale name, if not defaulted. */
+ if (locale_defaulted)
+ {
+ /* The next priority value is the default language preferences list. */
+ language_default = _nl_language_preferences_default ();
+ if (language_default != NULL)
+ return language_default;
+ }
+ /* The least priority value is the locale name, if defaulted. */
+#endif
+ return locale;
+}
+
+#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE
+/* Returns the output charset. */
+static const char *
+internal_function
+get_output_charset (struct binding *domainbinding)
+{
+ /* The output charset should normally be determined by the locale. But
+ sometimes the locale is not used or not correctly set up, so we provide
+ a possibility for the user to override this: the OUTPUT_CHARSET
+ environment variable. Moreover, the value specified through
+ bind_textdomain_codeset overrides both. */
+ if (domainbinding != NULL && domainbinding->codeset != NULL)
+ return domainbinding->codeset;
+ else
+ {
+ /* For speed reasons, we look at the value of OUTPUT_CHARSET only
+ once. This is a user variable that is not supposed to change
+ during a program run. */
+ static char *output_charset_cache;
+ static int output_charset_cached;
+
+ if (!output_charset_cached)
+ {
+ const char *value = getenv ("OUTPUT_CHARSET");
+
+ if (value != NULL && value[0] != '\0')
+ {
+ size_t len = strlen (value) + 1;
+ char *value_copy = (char *) malloc (len);
+
+ if (value_copy != NULL)
+ memcpy (value_copy, value, len);
+ output_charset_cache = value_copy;
+ }
+ output_charset_cached = 1;
+ }
+
+ if (output_charset_cache != NULL)
+ return output_charset_cache;
+ else
+ {
+# ifdef _LIBC
+ return _NL_CURRENT (LC_CTYPE, CODESET);
+# else
+# if HAVE_ICONV
+ extern const char *locale_charset (void);
+ return locale_charset ();
+# endif
+# endif
+ }
+ }
}
+#endif
/* @@ begin of epilog @@ */
@@ -1194,7 +1629,7 @@ libc_freeres_fn (free_mem)
{
struct binding *oldp = _nl_domain_bindings;
_nl_domain_bindings = _nl_domain_bindings->next;
- if (oldp->dirname != INTUSE(_nl_default_dirname))
+ if (oldp->dirname != _nl_default_dirname)
/* Yes, this is a pointer comparison. */
free (oldp->dirname);
free (oldp->codeset);
diff --git a/intl/dcngettext.c b/intl/dcngettext.c
index 48a3e09e0..eb368336c 100644
--- a/intl/dcngettext.c
+++ b/intl/dcngettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/dgettext.c b/intl/dgettext.c
index b64b0f5d3..9b0d0de6c 100644
--- a/intl/dgettext.c
+++ b/intl/dgettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/dngettext.c b/intl/dngettext.c
index 7815637f0..3278438fe 100644
--- a/intl/dngettext.c
+++ b/intl/dngettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/eval-plural.h b/intl/eval-plural.h
index 01bd5af5f..dacd003db 100644
--- a/intl/eval-plural.h
+++ b/intl/eval-plural.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef STATIC
diff --git a/intl/explodename.c b/intl/explodename.c
index 52c25e727..8d3e1463d 100644
--- a/intl/explodename.c
+++ b/intl/explodename.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify it
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -37,11 +37,15 @@
/* @@ end of prolog @@ */
-char *
+/* Split a locale name NAME into a leading language part and all the
+ rest. Return a pointer to the first character after the language,
+ i.e. to the first byte of the rest. */
+static char *_nl_find_language (const char *name);
+
+static char *
_nl_find_language (const char *name)
{
- while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
- && name[0] != '+' && name[0] != ',')
+ while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.')
++name;
return (char *) name;
@@ -52,10 +56,8 @@ int
_nl_explode_name (char *name,
const char **language, const char **modifier,
const char **territory, const char **codeset,
- const char **normalized_codeset, const char **special,
- const char **sponsor, const char **revision)
+ const char **normalized_codeset)
{
- enum { undecided, xpg, cen } syntax;
char *cp;
int mask;
@@ -63,15 +65,10 @@ _nl_explode_name (char *name,
*territory = NULL;
*codeset = NULL;
*normalized_codeset = NULL;
- *special = NULL;
- *sponsor = NULL;
- *revision = NULL;
/* Now we determine the single parts of the locale name. First
- look for the language. Termination symbols are `_' and `@' if
- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
+ look for the language. Termination symbols are `_', '.', and `@'. */
mask = 0;
- syntax = undecided;
*language = cp = name;
cp = _nl_find_language (*language);
@@ -79,22 +76,23 @@ _nl_explode_name (char *name,
/* This does not make sense: language has to be specified. Use
this entry as it is without exploding. Perhaps it is an alias. */
cp = strchr (*language, '\0');
- else if (cp[0] == '_')
+ else
{
- /* Next is the territory. */
- cp[0] = '\0';
- *territory = ++cp;
+ if (cp[0] == '_')
+ {
+ /* Next is the territory. */
+ cp[0] = '\0';
+ *territory = ++cp;
- while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
- && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
- ++cp;
+ while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@')
+ ++cp;
- mask |= TERRITORY;
+ mask |= XPG_TERRITORY;
+ }
if (cp[0] == '.')
{
/* Next is the codeset. */
- syntax = xpg;
cp[0] = '\0';
*codeset = ++cp;
@@ -115,71 +113,21 @@ _nl_explode_name (char *name,
}
}
- if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
+ if (cp[0] == '@')
{
/* Next is the modifier. */
- syntax = cp[0] == '@' ? xpg : cen;
cp[0] = '\0';
*modifier = ++cp;
- while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
- && cp[0] != ',' && cp[0] != '_')
- ++cp;
-
- mask |= XPG_MODIFIER | CEN_AUDIENCE;
- }
-
- if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
- {
- syntax = cen;
-
- if (cp[0] == '+')
- {
- /* Next is special application (CEN syntax). */
- cp[0] = '\0';
- *special = ++cp;
-
- while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
- ++cp;
-
- mask |= CEN_SPECIAL;
- }
-
- if (cp[0] == ',')
- {
- /* Next is sponsor (CEN syntax). */
- cp[0] = '\0';
- *sponsor = ++cp;
-
- while (cp[0] != '\0' && cp[0] != '_')
- ++cp;
-
- mask |= CEN_SPONSOR;
- }
-
- if (cp[0] == '_')
- {
- /* Next is revision (CEN syntax). */
- cp[0] = '\0';
- *revision = ++cp;
-
- mask |= CEN_REVISION;
- }
+ if (cp[0] != '\0')
+ mask |= XPG_MODIFIER;
}
- /* For CEN syntax values it might be important to have the
- separator character in the file name, not for XPG syntax. */
- if (syntax == xpg)
- {
- if (*territory != NULL && (*territory)[0] == '\0')
- mask &= ~TERRITORY;
-
- if (*codeset != NULL && (*codeset)[0] == '\0')
- mask &= ~XPG_CODESET;
+ if (*territory != NULL && (*territory)[0] == '\0')
+ mask &= ~XPG_TERRITORY;
- if (*modifier != NULL && (*modifier)[0] == '\0')
- mask &= ~XPG_MODIFIER;
- }
+ if (*codeset != NULL && (*codeset)[0] == '\0')
+ mask &= ~XPG_CODESET;
return mask;
}
diff --git a/intl/finddomain.c b/intl/finddomain.c
index 4992a8c9e..a25bebcb9 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,5 +1,5 @@
/* Handle list of needed message catalogs
- Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2001, 2003-2006 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.org>, 1995.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -37,6 +37,17 @@
# include "libgnuintl.h"
#endif
+/* Handle multi-threaded applications. */
+#ifdef _LIBC
+# include <bits/libc-lock.h>
+# define gl_rwlock_define_initialized __libc_rwlock_define_initialized
+# define gl_rwlock_rdlock __libc_rwlock_rdlock
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
+#else
+# include "lock.h"
+#endif
+
/* @@ end of prolog @@ */
/* List of already loaded domains. */
static struct loaded_l10nfile *_nl_loaded_domains;
@@ -56,44 +67,41 @@ _nl_find_domain (const char *dirname, char *locale,
const char *territory;
const char *codeset;
const char *normalized_codeset;
- const char *special;
- const char *sponsor;
- const char *revision;
const char *alias_value;
int mask;
/* LOCALE can consist of up to four recognized parts for the XPG syntax:
- language[_territory[.codeset]][@modifier]
-
- and six parts for the CEN syntax:
-
- language[_territory][+audience][+special][,[sponsor][_revision]]
+ language[_territory][.codeset][@modifier]
Beside the first part all of them are allowed to be missing. If
the full specified locale is not found, the less specific one are
looked for. The various parts will be stripped off according to
the following order:
- (1) revision
- (2) sponsor
- (3) special
- (4) codeset
- (5) normalized codeset
- (6) territory
- (7) audience/modifier
+ (1) codeset
+ (2) normalized codeset
+ (3) territory
+ (4) modifier
*/
+ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */
+ gl_rwlock_define_initialized (static, lock);
+ gl_rwlock_rdlock (lock);
+
/* If we have already tested for this locale entry there has to
be one data set in the list of loaded domains. */
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
strlen (dirname) + 1, 0, locale, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, domainname, 0);
+ NULL, NULL, domainname, 0);
+
+ gl_rwlock_unlock (lock);
+
if (retval != NULL)
{
/* We know something about this locale. */
int cnt;
- if (retval->decided == 0)
+ if (retval->decided <= 0)
_nl_load_domain (retval, domainbinding);
if (retval->data != NULL)
@@ -101,13 +109,14 @@ _nl_find_domain (const char *dirname, char *locale,
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
{
- if (retval->successor[cnt]->decided == 0)
+ if (retval->successor[cnt]->decided <= 0)
_nl_load_domain (retval->successor[cnt], domainbinding);
if (retval->successor[cnt]->data != NULL)
break;
}
- return cnt >= 0 ? retval : NULL;
+
+ return retval;
/* NOTREACHED */
}
@@ -132,30 +141,34 @@ _nl_find_domain (const char *dirname, char *locale,
}
/* Now we determine the single parts of the locale name. First
- look for the language. Termination symbols are `_' and `@' if
- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
+ look for the language. Termination symbols are `_', '.', and `@'. */
mask = _nl_explode_name (locale, &language, &modifier, &territory,
- &codeset, &normalized_codeset, &special,
- &sponsor, &revision);
+ &codeset, &normalized_codeset);
+
+ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */
+ gl_rwlock_wrlock (lock);
/* Create all possible locale entries which might be interested in
generalization. */
retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
strlen (dirname) + 1, mask, language, territory,
- codeset, normalized_codeset, modifier, special,
- sponsor, revision, domainname, 1);
+ codeset, normalized_codeset, modifier,
+ domainname, 1);
+
+ gl_rwlock_unlock (lock);
+
if (retval == NULL)
/* This means we are out of core. */
return NULL;
- if (retval->decided == 0)
+ if (retval->decided <= 0)
_nl_load_domain (retval, domainbinding);
if (retval->data == NULL)
{
int cnt;
for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
{
- if (retval->successor[cnt]->decided == 0)
+ if (retval->successor[cnt]->decided <= 0)
_nl_load_domain (retval->successor[cnt], domainbinding);
if (retval->successor[cnt]->data != NULL)
break;
@@ -175,7 +188,10 @@ _nl_find_domain (const char *dirname, char *locale,
#ifdef _LIBC
-libc_freeres_fn (free_mem)
+/* This is called from iconv/gconv_db.c's free_mem, as locales must
+ be freed before freeing gconv steps arrays. */
+void __libc_freeres_fn_section
+_nl_finddomain_subfreeres ()
{
struct loaded_l10nfile *runp = _nl_loaded_domains;
diff --git a/intl/gettext.c b/intl/gettext.c
index 92c42faa7..d82d439c0 100644
--- a/intl/gettext.c
+++ b/intl/gettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/gettextP.h b/intl/gettextP.h
index 4d66c3de3..8be38d2d7 100644
--- a/intl/gettextP.h
+++ b/intl/gettextP.h
@@ -1,5 +1,5 @@
/* Header describing internals of libintl library.
- Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _GETTEXTP_H
@@ -30,6 +30,52 @@
# endif
#endif
+#ifdef _LIBC
+extern char *__gettext (const char *__msgid);
+extern char *__dgettext (const char *__domainname, const char *__msgid);
+extern char *__dcgettext (const char *__domainname, const char *__msgid,
+ int __category);
+extern char *__ngettext (const char *__msgid1, const char *__msgid2,
+ unsigned long int __n);
+extern char *__dngettext (const char *__domainname,
+ const char *__msgid1, const char *__msgid2,
+ unsigned long int n);
+extern char *__dcngettext (const char *__domainname,
+ const char *__msgid1, const char *__msgid2,
+ unsigned long int __n, int __category);
+extern char *__dcigettext (const char *__domainname,
+ const char *__msgid1, const char *__msgid2,
+ int __plural, unsigned long int __n,
+ int __category);
+extern char *__textdomain (const char *__domainname);
+extern char *__bindtextdomain (const char *__domainname,
+ const char *__dirname);
+extern char *__bind_textdomain_codeset (const char *__domainname,
+ const char *__codeset);
+extern void _nl_finddomain_subfreeres (void) attribute_hidden;
+extern void _nl_unload_domain (struct loaded_domain *__domain)
+ internal_function attribute_hidden;
+#else
+/* Declare the exported libintl_* functions, in a way that allows us to
+ call them under their real name. */
+# undef _INTL_REDIRECT_INLINE
+# undef _INTL_REDIRECT_MACROS
+# define _INTL_REDIRECT_MACROS
+# include "libgnuintl.h"
+# ifdef IN_LIBGLOCALE
+extern char *gl_dcigettext (const char *__domainname,
+ const char *__msgid1, const char *__msgid2,
+ int __plural, unsigned long int __n,
+ int __category,
+ const char *__localename, const char *__encoding);
+# else
+extern char *libintl_dcigettext (const char *__domainname,
+ const char *__msgid1, const char *__msgid2,
+ int __plural, unsigned long int __n,
+ int __category);
+# endif
+#endif
+
#include "loadinfo.h"
#include "gmo.h" /* Get nls_uint32. */
@@ -77,6 +123,26 @@ struct sysdep_string_desc
const char *pointer;
};
+/* Cache of translated strings after charset conversion.
+ Note: The strings are converted to the target encoding only on an as-needed
+ basis. */
+struct converted_domain
+{
+ /* The target encoding name. */
+ const char *encoding;
+ /* The descriptor for conversion from the message catalog's encoding to
+ this target encoding. */
+#ifdef _LIBC
+ __gconv_t conv;
+#else
+# if HAVE_ICONV
+ iconv_t conv;
+# endif
+#endif
+ /* The table of translated strings after charset conversion. */
+ char **conv_tab;
+};
+
/* The representation of an opened message catalog. */
struct loaded_domain
{
@@ -112,15 +178,9 @@ struct loaded_domain
/* 1 if the hash table uses a different endianness than this machine. */
int must_swap_hash_tab;
- int codeset_cntr;
-#ifdef _LIBC
- __gconv_t conv;
-#else
-# if HAVE_ICONV
- iconv_t conv;
-# endif
-#endif
- char **conv_tab;
+ /* Cache of charset conversions of the translated strings. */
+ struct converted_domain *conversions;
+ size_t nconversions;
struct expression *plural;
unsigned long int nplurals;
@@ -140,7 +200,6 @@ struct binding
{
struct binding *next;
char *dirname;
- int codeset_cntr; /* Incremented each time codeset changes. */
char *codeset;
char domainname[ZERO];
};
@@ -148,9 +207,17 @@ struct binding
/* A counter which is incremented each time some previous translations
become invalid.
This variable is part of the external ABI of the GNU libintl. */
-extern int _nl_msg_cat_cntr;
+#ifdef IN_LIBGLOCALE
+# include <glocale/config.h>
+extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr;
+#else
+extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr;
+#endif
#ifndef _LIBC
+const char *_nl_language_preferences_default (void);
+const char *_nl_locale_name_posix (int category, const char *categoryname);
+const char *_nl_locale_name_default (void);
const char *_nl_locale_name (int category, const char *categoryname);
#endif
@@ -161,53 +228,18 @@ struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,
void _nl_load_domain (struct loaded_l10nfile *__domain,
struct binding *__domainbinding)
internal_function;
-void _nl_unload_domain (struct loaded_domain *__domain)
- internal_function;
-const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
- struct loaded_domain *__domain,
- struct binding *__domainbinding)
- internal_function;
-void _nl_free_domain_conv (struct loaded_domain *__domain)
- internal_function;
+#ifdef IN_LIBGLOCALE
char *_nl_find_msg (struct loaded_l10nfile *domain_file,
- struct binding *domainbinding, const char *msgid,
+ struct binding *domainbinding, const char *encoding,
+ const char *msgid,
size_t *lengthp)
internal_function;
-
-#ifdef _LIBC
-extern char *__gettext (const char *__msgid);
-extern char *__dgettext (const char *__domainname, const char *__msgid);
-extern char *__dcgettext (const char *__domainname, const char *__msgid,
- int __category);
-extern char *__ngettext (const char *__msgid1, const char *__msgid2,
- unsigned long int __n);
-extern char *__dngettext (const char *__domainname,
- const char *__msgid1, const char *__msgid2,
- unsigned long int n);
-extern char *__dcngettext (const char *__domainname,
- const char *__msgid1, const char *__msgid2,
- unsigned long int __n, int __category);
-extern char *__dcigettext (const char *__domainname,
- const char *__msgid1, const char *__msgid2,
- int __plural, unsigned long int __n,
- int __category);
-extern char *__textdomain (const char *__domainname);
-extern char *__bindtextdomain (const char *__domainname,
- const char *__dirname);
-extern char *__bind_textdomain_codeset (const char *__domainname,
- const char *__codeset);
#else
-/* Declare the exported libintl_* functions, in a way that allows us to
- call them under their real name. */
-# undef _INTL_REDIRECT_INLINE
-# undef _INTL_REDIRECT_MACROS
-# define _INTL_REDIRECT_MACROS
-# include "libgnuintl.h"
-extern char *libintl_dcigettext (const char *__domainname,
- const char *__msgid1, const char *__msgid2,
- int __plural, unsigned long int __n,
- int __category);
+char *_nl_find_msg (struct loaded_l10nfile *domain_file,
+ struct binding *domainbinding, const char *msgid,
+ int convert, size_t *lengthp)
+ internal_function;
#endif
/* @@ begin of epilog @@ */
diff --git a/intl/gmo.h b/intl/gmo.h
index e7c9cc14b..26515feb2 100644
--- a/intl/gmo.h
+++ b/intl/gmo.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _GETTEXT_H
diff --git a/intl/hash-string.h b/intl/hash-string.h
index 093e3b1c1..98c07e4a7 100644
--- a/intl/hash-string.h
+++ b/intl/hash-string.h
@@ -1,5 +1,5 @@
/* Description of GNU message catalog format: string hashing function.
- Copyright (C) 1995, 1997-1998, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* @@ end of prolog @@ */
@@ -22,27 +22,15 @@
#define HASHWORDBITS 32
+#ifndef _LIBC
+# ifdef IN_LIBINTL
+# define __hash_string libintl_hash_string
+# else
+# define __hash_string hash_string
+# endif
+#endif
+
/* Defines the so called `hashpjw' function by P.J. Weinberger
[see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
1986, 1987 Bell Telephone Laboratories, Inc.] */
-static inline unsigned long int
-hash_string (const char *str_param)
-{
- unsigned long int hval, g;
- const char *str = str_param;
-
- /* Compute the hash value for the given string. */
- hval = 0;
- while (*str != '\0')
- {
- hval <<= 4;
- hval += (unsigned char) *str++;
- g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
- if (g != 0)
- {
- hval ^= g >> (HASHWORDBITS - 8);
- hval ^= g;
- }
- }
- return hval;
-}
+extern unsigned long int __hash_string (const char *str_param);
diff --git a/intl/intl-compat.c b/intl/intl-compat.c
index 96f9d955d..9b9ecbb64 100644
--- a/intl/intl-compat.c
+++ b/intl/intl-compat.c
@@ -1,6 +1,6 @@
/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
Library.
- Copyright (C) 1995, 2000-2003 Software Foundation, Inc.
+ Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -49,7 +49,9 @@
/* When building a DLL, we must export some functions. Note that because
the functions are only defined for binary backward compatibility, we
don't need to use __declspec(dllimport) in any case. */
-#if defined _MSC_VER && BUILDING_DLL
+#if HAVE_VISIBILITY && BUILDING_DLL
+# define DLL_EXPORTED __attribute__((__visibility__("default")))
+#elif defined _MSC_VER && BUILDING_DLL
# define DLL_EXPORTED __declspec(dllexport)
#else
# define DLL_EXPORTED
diff --git a/intl/l10nflist.c b/intl/l10nflist.c
index eb995aafa..365aeb708 100644
--- a/intl/l10nflist.c
+++ b/intl/l10nflist.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify it
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Tell glibc's <string.h> to provide a prototype for stpcpy().
@@ -67,8 +67,8 @@ static char *stpcpy (char *dest, const char *src);
IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
it may be concatenated to a directory pathname.
*/
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
- /* Win32, OS/2, DOS */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
# define HAS_DEVICE(P) \
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
@@ -82,7 +82,12 @@ static char *stpcpy (char *dest, const char *src);
/* Define function which are usually not available. */
-#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
+#ifdef _LIBC
+# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
+#elif defined HAVE_ARGZ_COUNT
+# undef __argz_count
+# define __argz_count argz_count
+#else
/* Returns the number of strings in ARGZ. */
static size_t
argz_count__ (const char *argz, size_t len)
@@ -99,13 +104,15 @@ argz_count__ (const char *argz, size_t len)
}
# undef __argz_count
# define __argz_count(argz, len) argz_count__ (argz, len)
-#else
-# ifdef _LIBC
-# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
-# endif
-#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
+#endif /* !_LIBC && !HAVE_ARGZ_COUNT */
-#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
+#ifdef _LIBC
+# define __argz_stringify(argz, len, sep) \
+ INTUSE(__argz_stringify) (argz, len, sep)
+#elif defined HAVE_ARGZ_STRINGIFY
+# undef __argz_stringify
+# define __argz_stringify argz_stringify
+#else
/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
except the last into the character SEP. */
static void
@@ -122,14 +129,13 @@ argz_stringify__ (char *argz, size_t len, int sep)
}
# undef __argz_stringify
# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
-#else
-# ifdef _LIBC
-# define __argz_stringify(argz, len, sep) \
- INTUSE(__argz_stringify) (argz, len, sep)
-# endif
-#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
+#endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */
-#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
+#ifdef _LIBC
+#elif defined HAVE_ARGZ_NEXT
+# undef __argz_next
+# define __argz_next argz_next
+#else
static char *
argz_next__ (char *argz, size_t argz_len, const char *entry)
{
@@ -148,7 +154,7 @@ argz_next__ (char *argz, size_t argz_len, const char *entry)
}
# undef __argz_next
# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
-#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
+#endif /* !_LIBC && !HAVE_ARGZ_NEXT */
/* Return number of bits set in X. */
@@ -170,8 +176,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
const char *dirlist, size_t dirlist_len,
int mask, const char *language, const char *territory,
const char *codeset, const char *normalized_codeset,
- const char *modifier, const char *special,
- const char *sponsor, const char *revision,
+ const char *modifier,
const char *filename, int do_allocate)
{
char *abs_filename;
@@ -190,23 +195,14 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
/* Allocate room for the full file name. */
abs_filename = (char *) malloc (dirlist_len
+ strlen (language)
- + ((mask & TERRITORY) != 0
+ + ((mask & XPG_TERRITORY) != 0
? strlen (territory) + 1 : 0)
+ ((mask & XPG_CODESET) != 0
? strlen (codeset) + 1 : 0)
+ ((mask & XPG_NORM_CODESET) != 0
? strlen (normalized_codeset) + 1 : 0)
- + (((mask & XPG_MODIFIER) != 0
- || (mask & CEN_AUDIENCE) != 0)
+ + ((mask & XPG_MODIFIER) != 0
? strlen (modifier) + 1 : 0)
- + ((mask & CEN_SPECIAL) != 0
- ? strlen (special) + 1 : 0)
- + (((mask & CEN_SPONSOR) != 0
- || (mask & CEN_REVISION) != 0)
- ? (1 + ((mask & CEN_SPONSOR) != 0
- ? strlen (sponsor) : 0)
- + ((mask & CEN_REVISION) != 0
- ? strlen (revision) + 1 : 0)) : 0)
+ 1 + strlen (filename) + 1);
if (abs_filename == NULL)
@@ -224,7 +220,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
cp = stpcpy (cp, language);
- if ((mask & TERRITORY) != 0)
+ if ((mask & XPG_TERRITORY) != 0)
{
*cp++ = '_';
cp = stpcpy (cp, territory);
@@ -239,29 +235,11 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
*cp++ = '.';
cp = stpcpy (cp, normalized_codeset);
}
- if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
+ if ((mask & XPG_MODIFIER) != 0)
{
- /* This component can be part of both syntaces but has different
- leading characters. For CEN we use `+', else `@'. */
- *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
+ *cp++ = '@';
cp = stpcpy (cp, modifier);
}
- if ((mask & CEN_SPECIAL) != 0)
- {
- *cp++ = '+';
- cp = stpcpy (cp, special);
- }
- if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
- {
- *cp++ = ',';
- if ((mask & CEN_SPONSOR) != 0)
- cp = stpcpy (cp, sponsor);
- if ((mask & CEN_REVISION) != 0)
- {
- *cp++ = '_';
- cp = stpcpy (cp, revision);
- }
- }
*cp++ = '/';
stpcpy (cp, filename);
@@ -301,7 +279,10 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
+ (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))
* sizeof (struct loaded_l10nfile *)));
if (retval == NULL)
- return NULL;
+ {
+ free (abs_filename);
+ return NULL;
+ }
retval->filename = abs_filename;
@@ -332,8 +313,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
normalized_codeset. */
for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
if ((cnt & ~mask) == 0
- && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
- && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
+ && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0))
{
if (dirlist_count > 1)
{
@@ -345,15 +325,14 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
retval->successor[entries++]
= _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
cnt, language, territory, codeset,
- normalized_codeset, modifier, special,
- sponsor, revision, filename, 1);
+ normalized_codeset, modifier, filename,
+ 1);
}
else
retval->successor[entries++]
= _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
cnt, language, territory, codeset,
- normalized_codeset, modifier, special,
- sponsor, revision, filename, 1);
+ normalized_codeset, modifier, filename, 1);
}
retval->successor[entries] = NULL;
diff --git a/intl/libgnuintl.h.in b/intl/libgnuintl.h.in
index 3be7eb990..1a053f3af 100644
--- a/intl/libgnuintl.h.in
+++ b/intl/libgnuintl.h.in
@@ -1,5 +1,5 @@
/* Message catalogs for internationalization.
- Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 2000-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LIBINTL_H
@@ -39,7 +39,7 @@
/* Provide information about the supported file formats. Returns the
maximum minor revision number supported for a given major revision. */
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
- ((major) == 0 ? 1 : -1)
+ ((major) == 0 || (major) == 1 ? 1 : -1)
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
precedence over _conio_gettext. */
@@ -52,6 +52,11 @@ extern "C" {
#endif
+/* Version number: (major<<16) + (minor<<8) + subminor */
+#define LIBINTL_VERSION 0x000F00
+extern int libintl_version;
+
+
/* We redirect the functions to those prefixed with "libintl_". This is
necessary, because some systems define gettext/textdomain/... in the C
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
@@ -83,7 +88,7 @@ extern "C" {
If he doesn't, we choose the method. A third possible method is
_INTL_REDIRECT_ASM, supported only by GCC. */
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
-# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
+# if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
# define _INTL_REDIRECT_ASM
# else
# ifdef __cplusplus
@@ -102,11 +107,21 @@ extern "C" {
# define _INTL_ASM(cname)
#endif
+/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
+ its n-th argument literally. This enables GCC to warn for example about
+ printf (gettext ("foo %y")). */
+#if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus)
+# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
+#else
+# define _INTL_MAY_RETURN_STRING_ARG(n)
+#endif
+
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
#ifdef _INTL_REDIRECT_INLINE
-extern char *libintl_gettext (const char *__msgid);
+extern char *libintl_gettext (const char *__msgid)
+ _INTL_MAY_RETURN_STRING_ARG (1);
static inline char *gettext (const char *__msgid)
{
return libintl_gettext (__msgid);
@@ -116,13 +131,15 @@ static inline char *gettext (const char *__msgid)
# define gettext libintl_gettext
#endif
extern char *gettext (const char *__msgid)
- _INTL_ASM (libintl_gettext);
+ _INTL_ASM (libintl_gettext)
+ _INTL_MAY_RETURN_STRING_ARG (1);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
#ifdef _INTL_REDIRECT_INLINE
-extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
+extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
+ _INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dgettext (const char *__domainname, const char *__msgid)
{
return libintl_dgettext (__domainname, __msgid);
@@ -132,14 +149,16 @@ static inline char *dgettext (const char *__domainname, const char *__msgid)
# define dgettext libintl_dgettext
#endif
extern char *dgettext (const char *__domainname, const char *__msgid)
- _INTL_ASM (libintl_dgettext);
+ _INTL_ASM (libintl_dgettext)
+ _INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
- int __category);
+ int __category)
+ _INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
{
@@ -151,7 +170,8 @@ static inline char *dcgettext (const char *__domainname, const char *__msgid,
#endif
extern char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
- _INTL_ASM (libintl_dcgettext);
+ _INTL_ASM (libintl_dcgettext)
+ _INTL_MAY_RETURN_STRING_ARG (2);
#endif
@@ -159,7 +179,8 @@ extern char *dcgettext (const char *__domainname, const char *__msgid,
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
- unsigned long int __n);
+ unsigned long int __n)
+ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
{
@@ -171,14 +192,16 @@ static inline char *ngettext (const char *__msgid1, const char *__msgid2,
#endif
extern char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
- _INTL_ASM (libintl_ngettext);
+ _INTL_ASM (libintl_ngettext)
+ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
- const char *__msgid2, unsigned long int __n);
+ const char *__msgid2, unsigned long int __n)
+ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
{
@@ -191,7 +214,8 @@ static inline char *dngettext (const char *__domainname, const char *__msgid1,
extern char *dngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n)
- _INTL_ASM (libintl_dngettext);
+ _INTL_ASM (libintl_dngettext)
+ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
/* Similar to `dcgettext' but select the plural form corresponding to the
@@ -199,7 +223,8 @@ extern char *dngettext (const char *__domainname,
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
- unsigned long int __n, int __category);
+ unsigned long int __n, int __category)
+ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
@@ -213,10 +238,13 @@ static inline char *dcngettext (const char *__domainname,
extern char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
- _INTL_ASM (libintl_dcngettext);
+ _INTL_ASM (libintl_dcngettext)
+ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
+#ifndef IN_LIBGLOCALE
+
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
If DOMAINNAME is "", reset to the default of "messages". */
@@ -271,6 +299,8 @@ extern char *bind_textdomain_codeset (const char *__domainname,
_INTL_ASM (libintl_bind_textdomain_codeset);
#endif
+#endif /* IN_LIBGLOCALE */
+
/* Support for format strings with positions in *printf(), following the
POSIX/XSI specification.
@@ -300,6 +330,12 @@ extern int fprintf (FILE *, const char *, ...);
extern int vfprintf (FILE *, const char *, va_list);
#undef printf
+#if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__
+/* Don't break __attribute__((format(printf,M,N))).
+ This redefinition is only possible because the libc in NetBSD, Cygwin,
+ mingw does not have a function __printf__. */
+# define libintl_printf __printf__
+#endif
#define printf libintl_printf
extern int printf (const char *, ...);
#undef vprintf
diff --git a/intl/loadinfo.h b/intl/loadinfo.h
index 65e5ebd1f..a7a197031 100644
--- a/intl/loadinfo.h
+++ b/intl/loadinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LOADINFO_H
@@ -36,6 +36,10 @@
# define internal_function
#endif
+#ifndef LIBINTL_DLL_EXPORTED
+# define LIBINTL_DLL_EXPORTED
+#endif
+
/* Tell the compiler when a conditional or integer expression is
almost always true or almost always false. */
#ifndef HAVE_BUILTIN_EXPECT
@@ -43,7 +47,7 @@
#endif
/* Separator in PATH like lists of pathnames. */
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+#if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__
/* Win32, OS/2, DOS */
# define PATH_SEPARATOR ';'
#else
@@ -52,17 +56,10 @@
#endif
/* Encoding of locale name parts. */
-#define CEN_REVISION 1
-#define CEN_SPONSOR 2
-#define CEN_SPECIAL 4
-#define XPG_NORM_CODESET 8
-#define XPG_CODESET 16
-#define TERRITORY 32
-#define CEN_AUDIENCE 64
-#define XPG_MODIFIER 128
-
-#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
-#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
+#define XPG_NORM_CODESET 1
+#define XPG_CODESET 2
+#define XPG_TERRITORY 4
+#define XPG_MODIFIER 8
struct loaded_l10nfile
@@ -89,9 +86,9 @@ extern const char *_nl_normalize_codeset (const char *codeset,
files of the same kind, sorted in decreasing order of ->filename.
DIRLIST and DIRLIST_LEN are an argz list of directories in which to
look, containing at least one directory (i.e. DIRLIST_LEN > 0).
- MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
- SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
- produced by _nl_explode_name(). FILENAME is the filename suffix.
+ MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER
+ are the pieces of the locale name, as produced by _nl_explode_name().
+ FILENAME is the filename suffix.
The return value is the lookup result, either found in *L10NFILE_LIST,
or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
If the return value is non-NULL, it is added to *L10NFILE_LIST, and
@@ -103,43 +100,33 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
const char *dirlist, size_t dirlist_len, int mask,
const char *language, const char *territory,
const char *codeset, const char *normalized_codeset,
- const char *modifier, const char *special,
- const char *sponsor, const char *revision,
+ const char *modifier,
const char *filename, int do_allocate);
/* Lookup the real locale name for a locale alias NAME, or NULL if
NAME is not a locale alias (but possibly a real locale name).
The return value is statically allocated and must not be freed. */
-extern const char *_nl_expand_alias (const char *name);
+/* Part of the libintl ABI only for the sake of the gettext.m4 macro. */
+extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name);
/* Split a locale name NAME into its pieces: language, modifier,
- territory, codeset, special, sponsor, revision.
+ territory, codeset.
NAME gets destructively modified: NUL bytes are inserted here and
there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,
- *CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
- pointer into the old NAME string, or NULL. *NORMALIZED_CODESET
- gets assigned the expanded *CODESET, if it is different from *CODESET;
- this one is dynamically allocated and has to be freed by the caller.
+ *CODESET gets assigned either a pointer into the old NAME string, or
+ NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it
+ is different from *CODESET; this one is dynamically allocated and has
+ to be freed by the caller.
The return value is a bitmask, where each bit corresponds to one
filled-in value:
- XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,
- TERRITORY for *TERRITORY,
+ XPG_MODIFIER for *MODIFIER,
+ XPG_TERRITORY for *TERRITORY,
XPG_CODESET for *CODESET,
- XPG_NORM_CODESET for *NORMALIZED_CODESET,
- CEN_SPECIAL for *SPECIAL,
- CEN_SPONSOR for *SPONSOR,
- CEN_REVISION for *REVISION.
+ XPG_NORM_CODESET for *NORMALIZED_CODESET.
*/
extern int _nl_explode_name (char *name, const char **language,
const char **modifier, const char **territory,
const char **codeset,
- const char **normalized_codeset,
- const char **special, const char **sponsor,
- const char **revision);
-
-/* Split a locale name NAME into a leading language part and all the
- rest. Return a pointer to the first character after the language,
- i.e. to the first byte of the rest. */
-extern char *_nl_find_language (const char *name);
+ const char **normalized_codeset);
#endif /* loadinfo.h */
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index 99c51b4c5..2520c8c21 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -1,5 +1,5 @@
/* Load needed message catalogs.
- Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
@@ -91,6 +91,14 @@ char *alloca ();
#ifdef _LIBC
# include "../locale/localeinfo.h"
+# include <not-cancel.h>
+#endif
+
+/* Handle multi-threaded applications. */
+#ifdef _LIBC
+# include <bits/libc-lock.h>
+#else
+# include "lock.h"
#endif
/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
@@ -457,11 +465,12 @@ char *alloca ();
/* Rename the non ISO C functions. This is required by the standard
because some ISO C functions will require linking with this object
file and the name space must not be polluted. */
-# define open __open
-# define close __close
-# define read __read
-# define mmap __mmap
-# define munmap __munmap
+# define open(name, flags) open_not_cancel_2 (name, flags)
+# define close(fd) close_not_cancel_no_status (fd)
+# define read(fd, buf, n) read_not_cancel (fd, buf, n)
+# define mmap(addr, len, prot, flags, fd, offset) \
+ __mmap (addr, len, prot, flags, fd, offset)
+# define munmap(addr, len) __munmap (addr, len)
#endif
/* For those losing systems which don't have `alloca' we have to add
@@ -764,144 +773,6 @@ get_sysdep_segment_value (const char *name)
return NULL;
}
-/* Initialize the codeset dependent parts of an opened message catalog.
- Return the header entry. */
-const char *
-internal_function
-_nl_init_domain_conv (struct loaded_l10nfile *domain_file,
- struct loaded_domain *domain,
- struct binding *domainbinding)
-{
- /* Find out about the character set the file is encoded with.
- This can be found (in textual form) in the entry "". If this
- entry does not exist or if this does not contain the `charset='
- information, we will assume the charset matches the one the
- current locale and we don't have to perform any conversion. */
- char *nullentry;
- size_t nullentrylen;
-
- /* Preinitialize fields, to avoid recursion during _nl_find_msg. */
- domain->codeset_cntr =
- (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
-#ifdef _LIBC
- domain->conv = (__gconv_t) -1;
-#else
-# if HAVE_ICONV
- domain->conv = (iconv_t) -1;
-# endif
-#endif
- domain->conv_tab = NULL;
-
- /* Get the header entry. */
- nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
-
- if (nullentry != NULL)
- {
-#if defined _LIBC || HAVE_ICONV
- const char *charsetstr;
-
- charsetstr = strstr (nullentry, "charset=");
- if (charsetstr != NULL)
- {
- size_t len;
- char *charset;
- const char *outcharset;
-
- charsetstr += strlen ("charset=");
- len = strcspn (charsetstr, " \t\n");
-
- charset = (char *) alloca (len + 1);
-# if defined _LIBC || HAVE_MEMPCPY
- *((char *) mempcpy (charset, charsetstr, len)) = '\0';
-# else
- memcpy (charset, charsetstr, len);
- charset[len] = '\0';
-# endif
-
- /* The output charset should normally be determined by the
- locale. But sometimes the locale is not used or not correctly
- set up, so we provide a possibility for the user to override
- this. Moreover, the value specified through
- bind_textdomain_codeset overrides both. */
- if (domainbinding != NULL && domainbinding->codeset != NULL)
- outcharset = domainbinding->codeset;
- else
- {
- outcharset = getenv ("OUTPUT_CHARSET");
- if (outcharset == NULL || outcharset[0] == '\0')
- {
-# ifdef _LIBC
- outcharset = _NL_CURRENT (LC_CTYPE, CODESET);
-# else
-# if HAVE_ICONV
- extern const char *locale_charset (void);
- outcharset = locale_charset ();
-# endif
-# endif
- }
- }
-
-# ifdef _LIBC
- /* We always want to use transliteration. */
- outcharset = norm_add_slashes (outcharset, "TRANSLIT");
- charset = norm_add_slashes (charset, NULL);
- if (__gconv_open (outcharset, charset, &domain->conv,
- GCONV_AVOID_NOCONV)
- != __GCONV_OK)
- domain->conv = (__gconv_t) -1;
-# else
-# if HAVE_ICONV
- /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
- we want to use transliteration. */
-# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
- || _LIBICONV_VERSION >= 0x0105
- if (strchr (outcharset, '/') == NULL)
- {
- char *tmp;
-
- len = strlen (outcharset);
- tmp = (char *) alloca (len + 10 + 1);
- memcpy (tmp, outcharset, len);
- memcpy (tmp + len, "//TRANSLIT", 10 + 1);
- outcharset = tmp;
-
- domain->conv = iconv_open (outcharset, charset);
-
- freea (outcharset);
- }
- else
-# endif
- domain->conv = iconv_open (outcharset, charset);
-# endif
-# endif
-
- freea (charset);
- }
-#endif /* _LIBC || HAVE_ICONV */
- }
-
- return nullentry;
-}
-
-/* Frees the codeset dependent parts of an opened message catalog. */
-void
-internal_function
-_nl_free_domain_conv (struct loaded_domain *domain)
-{
- if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
- free (domain->conv_tab);
-
-#ifdef _LIBC
- if (domain->conv != (__gconv_t) -1)
- __gconv_close (domain->conv);
-#else
-# if HAVE_ICONV
- if (domain->conv != (iconv_t) -1)
- iconv_close (domain->conv);
-# endif
-#endif
-}
-
/* Load the message catalogs specified by FILENAME. If it is no valid
message catalog do nothing. */
void
@@ -909,7 +780,8 @@ internal_function
_nl_load_domain (struct loaded_l10nfile *domain_file,
struct binding *domainbinding)
{
- int fd;
+ __libc_lock_define_initialized_recursive (static, lock)
+ int fd = -1;
size_t size;
#ifdef _LIBC
struct stat64 st;
@@ -921,8 +793,24 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
struct loaded_domain *domain;
int revision;
const char *nullentry;
+ size_t nullentrylen;
- domain_file->decided = 1;
+ __libc_lock_lock_recursive (lock);
+ if (domain_file->decided != 0)
+ {
+ /* There are two possibilities:
+
+ + this is the same thread calling again during this initialization
+ via _nl_find_msg. We have initialized everything this call needs.
+
+ + this is another thread which tried to initialize this object.
+ Not necessary anymore since if the lock is available this
+ is finished.
+ */
+ goto done;
+ }
+
+ domain_file->decided = -1;
domain_file->data = NULL;
/* Note that it would be useless to store domainbinding in domain_file
@@ -934,12 +822,12 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
specification the locale file name is different for XPG and CEN
syntax. */
if (domain_file->filename == NULL)
- return;
+ goto out;
/* Try to open the addressed file. */
fd = open (domain_file->filename, O_RDONLY | O_BINARY);
if (fd == -1)
- return;
+ goto out;
/* We must know about the size of the file. */
if (
@@ -950,11 +838,8 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
#endif
|| __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
|| __builtin_expect (size < sizeof (struct mo_file_header), 0))
- {
- /* Something went wrong. */
- close (fd);
- return;
- }
+ /* Something went wrong. */
+ goto out;
#ifdef HAVE_MMAP
/* Now we are ready to load the file. If mmap() is available we try
@@ -966,6 +851,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
{
/* mmap() call was successful. */
close (fd);
+ fd = -1;
use_mmap = 1;
}
#endif
@@ -979,7 +865,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
data = (struct mo_file_header *) malloc (size);
if (data == NULL)
- return;
+ goto out;
to_read = size;
read_ptr = (char *) data;
@@ -992,8 +878,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
if (nb == -1 && errno == EINTR)
continue;
#endif
- close (fd);
- return;
+ goto out;
}
read_ptr += nb;
to_read -= nb;
@@ -1001,6 +886,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
while (to_read > 0);
close (fd);
+ fd = -1;
}
/* Using the magic number we can test whether it really is a message
@@ -1015,12 +901,12 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
else
#endif
free (data);
- return;
+ goto out;
}
domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
if (domain == NULL)
- return;
+ goto out;
domain_file->data = domain;
domain->data = (char *) data;
@@ -1321,7 +1207,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
for (i = 0; i < n_inmem_sysdep_strings; i++)
{
const char *msgid = inmem_orig_sysdep_tab[i].pointer;
- nls_uint32 hash_val = hash_string (msgid);
+ nls_uint32 hash_val = __hash_string (msgid);
nls_uint32 idx = hash_val % domain->hash_size;
nls_uint32 incr =
1 + (hash_val % (domain->hash_size - 2));
@@ -1382,28 +1268,55 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,
free (data);
free (domain);
domain_file->data = NULL;
- return;
+ goto out;
}
- /* Now initialize the character set converter from the character set
- the file is encoded with (found in the header entry) to the domain's
- specified character set or the locale's character set. */
- nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
+ /* No caches of converted translations so far. */
+ domain->conversions = NULL;
+ domain->nconversions = 0;
- /* Also look for a plural specification. */
+ /* Get the header entry and look for a plural specification. */
+#ifdef IN_LIBGLOCALE
+ nullentry =
+ _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen);
+#else
+ nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen);
+#endif
EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);
+
+ out:
+ if (fd != -1)
+ close (fd);
+
+ domain_file->decided = 1;
+
+ done:
+ __libc_lock_unlock_recursive (lock);
}
#ifdef _LIBC
void
-internal_function
+internal_function __libc_freeres_fn_section
_nl_unload_domain (struct loaded_domain *domain)
{
+ size_t i;
+
if (domain->plural != &__gettext_germanic_plural)
__gettext_free_exp (domain->plural);
- _nl_free_domain_conv (domain);
+ for (i = 0; i < domain->nconversions; i++)
+ {
+ struct converted_domain *convd = &domain->conversions[i];
+
+ free (convd->encoding);
+ if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1)
+ free (convd->conv_tab);
+ if (convd->conv != (__gconv_t) -1)
+ __gconv_close (convd->conv);
+ }
+ if (domain->conversions != NULL)
+ free (domain->conversions);
if (domain->malloced)
free (domain->malloced);
diff --git a/intl/localcharset.c b/intl/localcharset.c
index 4865f1037..e8505bfa9 100644
--- a/intl/localcharset.c
+++ b/intl/localcharset.c
@@ -1,6 +1,6 @@
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Written by Bruno Haible <bruno@clisp.org>. */
@@ -41,8 +41,7 @@
#endif
#if defined _WIN32 || defined __WIN32__
-# undef WIN32 /* avoid warning on mingw32 */
-# define WIN32
+# define WIN32_NATIVE
#endif
#if defined __EMX__
@@ -50,7 +49,7 @@
# define OS2
#endif
-#if !defined WIN32
+#if !defined WIN32_NATIVE
# if HAVE_LANGINFO_CODESET
# include <langinfo.h>
# else
@@ -58,7 +57,11 @@
# include <locale.h>
# endif
# endif
-#elif defined WIN32
+# ifdef __CYGWIN__
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# endif
+#elif defined WIN32_NATIVE
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif
@@ -73,8 +76,8 @@
# define relocate(pathname) (pathname)
#endif
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
- /* Win32, OS/2, DOS */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
#endif
@@ -107,19 +110,25 @@ static const char * volatile charset_aliases;
/* Return a pointer to the contents of the charset.alias file. */
static const char *
-get_charset_aliases ()
+get_charset_aliases (void)
{
const char *cp;
cp = charset_aliases;
if (cp == NULL)
{
-#if !(defined VMS || defined WIN32)
+#if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__)
FILE *fp;
- const char *dir = relocate (LIBDIR);
+ const char *dir;
const char *base = "charset.alias";
char *file_name;
+ /* Make it possible to override the charset.alias location. This is
+ necessary for running the testsuite before "make install". */
+ dir = getenv ("CHARSETALIASDIR");
+ if (dir == NULL || dir[0] == '\0')
+ dir = relocate (LIBDIR);
+
/* Concatenate dir and base into freshly allocated file_name. */
{
size_t dir_len = strlen (dir);
@@ -141,15 +150,17 @@ get_charset_aliases ()
else
{
/* Parse the file's contents. */
- int c;
- char buf1[50+1];
- char buf2[50+1];
char *res_ptr = NULL;
size_t res_size = 0;
- size_t l1, l2;
for (;;)
{
+ int c;
+ char buf1[50+1];
+ char buf2[50+1];
+ size_t l1, l2;
+ char *old_res_ptr;
+
c = getc (fp);
if (c == EOF)
break;
@@ -170,6 +181,7 @@ get_charset_aliases ()
break;
l1 = strlen (buf1);
l2 = strlen (buf2);
+ old_res_ptr = res_ptr;
if (res_size == 0)
{
res_size = l1 + 1 + l2 + 1;
@@ -184,6 +196,8 @@ get_charset_aliases ()
{
/* Out of memory. */
res_size = 0;
+ if (old_res_ptr != NULL)
+ free (old_res_ptr);
break;
}
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
@@ -229,7 +243,7 @@ get_charset_aliases ()
"DECKOREAN" "\0" "EUC-KR" "\0";
# endif
-# if defined WIN32
+# if defined WIN32_NATIVE || defined __CYGWIN__
/* To avoid the troubles of installing a separate file in the same
directory as the DLL and of retrieving the DLL's directory at
runtime, simply inline the aliases here. */
@@ -238,6 +252,7 @@ get_charset_aliases ()
"CP1361" "\0" "JOHAB" "\0"
"CP20127" "\0" "ASCII" "\0"
"CP20866" "\0" "KOI8-R" "\0"
+ "CP20936" "\0" "GB2312" "\0"
"CP21866" "\0" "KOI8-RU" "\0"
"CP28591" "\0" "ISO-8859-1" "\0"
"CP28592" "\0" "ISO-8859-2" "\0"
@@ -248,7 +263,14 @@ get_charset_aliases ()
"CP28597" "\0" "ISO-8859-7" "\0"
"CP28598" "\0" "ISO-8859-8" "\0"
"CP28599" "\0" "ISO-8859-9" "\0"
- "CP28605" "\0" "ISO-8859-15" "\0";
+ "CP28605" "\0" "ISO-8859-15" "\0"
+ "CP38598" "\0" "ISO-8859-8" "\0"
+ "CP51932" "\0" "EUC-JP" "\0"
+ "CP51936" "\0" "GB2312" "\0"
+ "CP51949" "\0" "EUC-KR" "\0"
+ "CP51950" "\0" "EUC-TW" "\0"
+ "CP54936" "\0" "GB18030" "\0"
+ "CP65001" "\0" "UTF-8" "\0";
# endif
#endif
@@ -268,18 +290,65 @@ get_charset_aliases ()
STATIC
#endif
const char *
-locale_charset ()
+locale_charset (void)
{
const char *codeset;
const char *aliases;
-#if !(defined WIN32 || defined OS2)
+#if !(defined WIN32_NATIVE || defined OS2)
# if HAVE_LANGINFO_CODESET
/* Most systems support nl_langinfo (CODESET) nowadays. */
codeset = nl_langinfo (CODESET);
+# ifdef __CYGWIN__
+ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always
+ returns "US-ASCII". As long as this is not fixed, return the suffix
+ of the locale name from the environment variables (if present) or
+ the codepage as a number. */
+ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0)
+ {
+ const char *locale;
+ static char buf[2 + 10 + 1];
+
+ locale = getenv ("LC_ALL");
+ if (locale == NULL || locale[0] == '\0')
+ {
+ locale = getenv ("LC_CTYPE");
+ if (locale == NULL || locale[0] == '\0')
+ locale = getenv ("LANG");
+ }
+ if (locale != NULL && locale[0] != '\0')
+ {
+ /* If the locale name contains an encoding after the dot, return
+ it. */
+ const char *dot = strchr (locale, '.');
+
+ if (dot != NULL)
+ {
+ const char *modifier;
+
+ dot++;
+ /* Look for the possible @... trailer and remove it, if any. */
+ modifier = strchr (dot, '@');
+ if (modifier == NULL)
+ return dot;
+ if (modifier - dot < sizeof (buf))
+ {
+ memcpy (buf, dot, modifier - dot);
+ buf [modifier - dot] = '\0';
+ return buf;
+ }
+ }
+ }
+
+ /* Woe32 has a function returning the locale's codepage as a number. */
+ sprintf (buf, "CP%u", GetACP ());
+ codeset = buf;
+ }
+# endif
+
# else
/* On old systems which lack it, use setlocale or getenv. */
@@ -310,7 +379,7 @@ locale_charset ()
# endif
-#elif defined WIN32
+#elif defined WIN32_NATIVE
static char buf[2 + 10 + 1];
diff --git a/intl/localcharset.h b/intl/localcharset.h
index 3b137e73c..129e4a4a3 100644
--- a/intl/localcharset.h
+++ b/intl/localcharset.h
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LOCALCHARSET_H
diff --git a/intl/locale.alias b/intl/locale.alias
index bd6bb2562..faa696918 100644
--- a/intl/locale.alias
+++ b/intl/locale.alias
@@ -13,7 +13,7 @@
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
# The format of this file is the same as for the corresponding file of
diff --git a/intl/localealias.c b/intl/localealias.c
index 2eaf8813e..26122a011 100644
--- a/intl/localealias.c
+++ b/intl/localealias.c
@@ -1,5 +1,5 @@
/* Handle aliases for locale names.
- Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2001, 2003, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Tell glibc's <string.h> to provide a prototype for mempcpy().
@@ -81,11 +81,13 @@ char *alloca ();
# endif
# define HAVE_MEMPCPY 1
# define HAVE___FSETLOCKING 1
+#endif
-/* We need locking here since we can be called from different places. */
+/* Handle multi-threaded applications. */
+#ifdef _LIBC
# include <bits/libc-lock.h>
-
-__libc_lock_define_initialized (static, lock);
+#else
+# include "lock.h"
#endif
#ifndef internal_function
@@ -120,6 +122,9 @@ __libc_lock_define_initialized (static, lock);
#endif
+__libc_lock_define_initialized (static, lock)
+
+
struct alias_map
{
const char *alias;
@@ -155,9 +160,7 @@ _nl_expand_alias (const char *name)
const char *result = NULL;
size_t added;
-#ifdef _LIBC
__libc_lock_lock (lock);
-#endif
if (locale_alias_path == NULL)
locale_alias_path = LOCALE_ALIAS_PATH;
@@ -204,9 +207,7 @@ _nl_expand_alias (const char *name)
}
while (added != 0);
-#ifdef _LIBC
__libc_lock_unlock (lock);
-#endif
return result;
}
@@ -230,7 +231,13 @@ read_alias_file (const char *fname, int fname_len)
memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
#endif
+#ifdef _LIBC
+ /* Note the file is opened with cancellation in the I/O functions
+ disabled. */
+ fp = fopen (relocate (full_fname), "rc");
+#else
fp = fopen (relocate (full_fname), "r");
+#endif
freea (full_fname);
if (fp == NULL)
return 0;
@@ -254,11 +261,15 @@ read_alias_file (const char *fname, int fname_len)
char *alias;
char *value;
char *cp;
+ int complete_line;
if (FGETS (buf, sizeof buf, fp) == NULL)
/* EOF reached. */
break;
+ /* Determine whether the line is complete. */
+ complete_line = strchr (buf, '\n') != NULL;
+
cp = buf;
/* Ignore leading white space. */
while (isspace ((unsigned char) cp[0]))
@@ -280,9 +291,6 @@ read_alias_file (const char *fname, int fname_len)
if (cp[0] != '\0')
{
- size_t alias_len;
- size_t value_len;
-
value = cp++;
while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
++cp;
@@ -298,60 +306,75 @@ read_alias_file (const char *fname, int fname_len)
else if (cp[0] != '\0')
*cp++ = '\0';
- if (nmap >= maxmap)
- if (__builtin_expect (extend_alias_table (), 0))
- return added;
+#ifdef IN_LIBGLOCALE
+ /* glibc's locale.alias contains entries for ja_JP and ko_KR
+ that make it impossible to use a Japanese or Korean UTF-8
+ locale under the name "ja_JP" or "ko_KR". Ignore these
+ entries. */
+ if (strchr (alias, '_') == NULL)
+#endif
+ {
+ size_t alias_len;
+ size_t value_len;
- alias_len = strlen (alias) + 1;
- value_len = strlen (value) + 1;
+ if (nmap >= maxmap)
+ if (__builtin_expect (extend_alias_table (), 0))
+ goto out;
- if (string_space_act + alias_len + value_len > string_space_max)
- {
- /* Increase size of memory pool. */
- size_t new_size = (string_space_max
- + (alias_len + value_len > 1024
- ? alias_len + value_len : 1024));
- char *new_pool = (char *) realloc (string_space, new_size);
- if (new_pool == NULL)
- return added;
-
- if (__builtin_expect (string_space != new_pool, 0))
- {
- size_t i;
+ alias_len = strlen (alias) + 1;
+ value_len = strlen (value) + 1;
- for (i = 0; i < nmap; i++)
+ if (string_space_act + alias_len + value_len > string_space_max)
+ {
+ /* Increase size of memory pool. */
+ size_t new_size = (string_space_max
+ + (alias_len + value_len > 1024
+ ? alias_len + value_len : 1024));
+ char *new_pool = (char *) realloc (string_space, new_size);
+ if (new_pool == NULL)
+ goto out;
+
+ if (__builtin_expect (string_space != new_pool, 0))
{
- map[i].alias += new_pool - string_space;
- map[i].value += new_pool - string_space;
+ size_t i;
+
+ for (i = 0; i < nmap; i++)
+ {
+ map[i].alias += new_pool - string_space;
+ map[i].value += new_pool - string_space;
+ }
}
- }
- string_space = new_pool;
- string_space_max = new_size;
- }
+ string_space = new_pool;
+ string_space_max = new_size;
+ }
- map[nmap].alias = memcpy (&string_space[string_space_act],
- alias, alias_len);
- string_space_act += alias_len;
+ map[nmap].alias = memcpy (&string_space[string_space_act],
+ alias, alias_len);
+ string_space_act += alias_len;
- map[nmap].value = memcpy (&string_space[string_space_act],
- value, value_len);
- string_space_act += value_len;
+ map[nmap].value = memcpy (&string_space[string_space_act],
+ value, value_len);
+ string_space_act += value_len;
- ++nmap;
- ++added;
+ ++nmap;
+ ++added;
+ }
}
}
/* Possibly not the whole line fits into the buffer. Ignore
the rest of the line. */
- while (strchr (buf, '\n') == NULL)
- if (FGETS (buf, sizeof buf, fp) == NULL)
- /* Make sure the inner loop will be left. The outer loop
- will exit at the `feof' test. */
- break;
+ if (! complete_line)
+ do
+ if (FGETS (buf, sizeof buf, fp) == NULL)
+ /* Make sure the inner loop will be left. The outer loop
+ will exit at the `feof' test. */
+ break;
+ while (strchr (buf, '\n') == NULL);
}
+ out:
/* Should we test for ferror()? I think we have to silently ignore
errors. --drepper */
fclose (fp);
diff --git a/intl/localename.c b/intl/localename.c
index 5662e54ff..1b8b99a1a 100644
--- a/intl/localename.c
+++ b/intl/localename.c
@@ -1,5 +1,5 @@
/* Determine the current selected locale.
- Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,11 +13,12 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
+/* MacOS X code written by Bruno Haible <bruno@clisp.org>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
@@ -26,12 +27,21 @@
#include <stdlib.h>
#include <locale.h>
+#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+# include <string.h>
+# include <CoreFoundation/CFString.h>
+# if HAVE_CFLOCALECOPYCURRENT
+# include <CoreFoundation/CFLocale.h>
+# elif HAVE_CFPREFERENCESCOPYAPPVALUE
+# include <CoreFoundation/CFPreferences.h>
+# endif
+#endif
+
#if defined _WIN32 || defined __WIN32__
-# undef WIN32 /* avoid warning on mingw32 */
-# define WIN32
+# define WIN32_NATIVE
#endif
-#ifdef WIN32
+#ifdef WIN32_NATIVE
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
/* List of language codes, sorted by value:
@@ -683,6 +693,280 @@
# endif
#endif
+# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+/* MacOS X 10.2 or newer */
+
+/* Canonicalize a MacOS X locale name to a Unix locale name.
+ NAME is a sufficiently large buffer.
+ On input, it contains the MacOS X locale name.
+ On output, it contains the Unix locale name. */
+void
+_nl_locale_name_canonicalize (char *name)
+{
+ /* This conversion is based on a posting by
+ Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
+ http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
+
+ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
+ ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this.
+ Therefore we do it ourselves, using a table based on the results of the
+ MacOS X 10.3.8 function
+ CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
+ typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
+ legacy_entry;
+ static const legacy_entry legacy_table[] = {
+ { "Afrikaans", "af" },
+ { "Albanian", "sq" },
+ { "Amharic", "am" },
+ { "Arabic", "ar" },
+ { "Armenian", "hy" },
+ { "Assamese", "as" },
+ { "Aymara", "ay" },
+ { "Azerbaijani", "az" },
+ { "Basque", "eu" },
+ { "Belarusian", "be" },
+ { "Belorussian", "be" },
+ { "Bengali", "bn" },
+ { "Brazilian Portugese", "pt_BR" },
+ { "Brazilian Portuguese", "pt_BR" },
+ { "Breton", "br" },
+ { "Bulgarian", "bg" },
+ { "Burmese", "my" },
+ { "Byelorussian", "be" },
+ { "Catalan", "ca" },
+ { "Chewa", "ny" },
+ { "Chichewa", "ny" },
+ { "Chinese", "zh" },
+ { "Chinese, Simplified", "zh_CN" },
+ { "Chinese, Traditional", "zh_TW" },
+ { "Chinese, Tradtional", "zh_TW" },
+ { "Croatian", "hr" },
+ { "Czech", "cs" },
+ { "Danish", "da" },
+ { "Dutch", "nl" },
+ { "Dzongkha", "dz" },
+ { "English", "en" },
+ { "Esperanto", "eo" },
+ { "Estonian", "et" },
+ { "Faroese", "fo" },
+ { "Farsi", "fa" },
+ { "Finnish", "fi" },
+ { "Flemish", "nl_BE" },
+ { "French", "fr" },
+ { "Galician", "gl" },
+ { "Gallegan", "gl" },
+ { "Georgian", "ka" },
+ { "German", "de" },
+ { "Greek", "el" },
+ { "Greenlandic", "kl" },
+ { "Guarani", "gn" },
+ { "Gujarati", "gu" },
+ { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */
+ { "Hebrew", "he" },
+ { "Hindi", "hi" },
+ { "Hungarian", "hu" },
+ { "Icelandic", "is" },
+ { "Indonesian", "id" },
+ { "Inuktitut", "iu" },
+ { "Irish", "ga" },
+ { "Italian", "it" },
+ { "Japanese", "ja" },
+ { "Javanese", "jv" },
+ { "Kalaallisut", "kl" },
+ { "Kannada", "kn" },
+ { "Kashmiri", "ks" },
+ { "Kazakh", "kk" },
+ { "Khmer", "km" },
+ { "Kinyarwanda", "rw" },
+ { "Kirghiz", "ky" },
+ { "Korean", "ko" },
+ { "Kurdish", "ku" },
+ { "Latin", "la" },
+ { "Latvian", "lv" },
+ { "Lithuanian", "lt" },
+ { "Macedonian", "mk" },
+ { "Malagasy", "mg" },
+ { "Malay", "ms" },
+ { "Malayalam", "ml" },
+ { "Maltese", "mt" },
+ { "Manx", "gv" },
+ { "Marathi", "mr" },
+ { "Moldavian", "mo" },
+ { "Mongolian", "mn" },
+ { "Nepali", "ne" },
+ { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */
+ { "Nyanja", "ny" },
+ { "Nynorsk", "nn" },
+ { "Oriya", "or" },
+ { "Oromo", "om" },
+ { "Panjabi", "pa" },
+ { "Pashto", "ps" },
+ { "Persian", "fa" },
+ { "Polish", "pl" },
+ { "Portuguese", "pt" },
+ { "Portuguese, Brazilian", "pt_BR" },
+ { "Punjabi", "pa" },
+ { "Pushto", "ps" },
+ { "Quechua", "qu" },
+ { "Romanian", "ro" },
+ { "Ruanda", "rw" },
+ { "Rundi", "rn" },
+ { "Russian", "ru" },
+ { "Sami", "se_NO" }, /* Not just "se". */
+ { "Sanskrit", "sa" },
+ { "Scottish", "gd" },
+ { "Serbian", "sr" },
+ { "Simplified Chinese", "zh_CN" },
+ { "Sindhi", "sd" },
+ { "Sinhalese", "si" },
+ { "Slovak", "sk" },
+ { "Slovenian", "sl" },
+ { "Somali", "so" },
+ { "Spanish", "es" },
+ { "Sundanese", "su" },
+ { "Swahili", "sw" },
+ { "Swedish", "sv" },
+ { "Tagalog", "tl" },
+ { "Tajik", "tg" },
+ { "Tajiki", "tg" },
+ { "Tamil", "ta" },
+ { "Tatar", "tt" },
+ { "Telugu", "te" },
+ { "Thai", "th" },
+ { "Tibetan", "bo" },
+ { "Tigrinya", "ti" },
+ { "Tongan", "to" },
+ { "Traditional Chinese", "zh_TW" },
+ { "Turkish", "tr" },
+ { "Turkmen", "tk" },
+ { "Uighur", "ug" },
+ { "Ukrainian", "uk" },
+ { "Urdu", "ur" },
+ { "Uzbek", "uz" },
+ { "Vietnamese", "vi" },
+ { "Welsh", "cy" },
+ { "Yiddish", "yi" }
+ };
+
+ /* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
+ to Unix (ISO 639 and ISO 3166) names. */
+ typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
+ langtag_entry;
+ static const langtag_entry langtag_table[] = {
+ /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn".
+ The default script for az on Unix is Latin. */
+ { "az-Latn", "az" },
+ /* MacOS X has "ga-dots". Does not yet exist on Unix. */
+ { "ga-dots", "ga" },
+ /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */
+ /* MacOS X has "mn-Cyrl", "mn-Mong".
+ The default script for mn on Unix is Cyrillic. */
+ { "mn-Cyrl", "mn" },
+ /* MacOS X has "ms-Arab", "ms-Latn".
+ The default script for ms on Unix is Latin. */
+ { "ms-Latn", "ms" },
+ /* MacOS X has "tg-Cyrl".
+ The default script for tg on Unix is Cyrillic. */
+ { "tg-Cyrl", "tg" },
+ /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */
+ /* MacOS X has "tt-Cyrl".
+ The default script for tt on Unix is Cyrillic. */
+ { "tt-Cyrl", "tt" },
+ /* MacOS X has "zh-Hans", "zh-Hant".
+ Country codes are used to distinguish these on Unix. */
+ { "zh-Hans", "zh_CN" },
+ { "zh-Hant", "zh_TW" }
+ };
+
+ /* Convert script names (ISO 15924) to Unix conventions.
+ See http://www.unicode.org/iso15924/iso15924-codes.html */
+ typedef struct { const char script[4+1]; const char unixy[9+1]; }
+ script_entry;
+ static const script_entry script_table[] = {
+ { "Arab", "arabic" },
+ { "Cyrl", "cyrillic" },
+ { "Mong", "mongolian" }
+ };
+
+ /* Step 1: Convert using legacy_table. */
+ if (name[0] >= 'A' && name[0] <= 'Z')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (legacy_table) / sizeof (legacy_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in legacy_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const legacy_entry *p = &legacy_table[i];
+ if (strcmp (name, p->legacy) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, legacy_table[i1].legacy) == 0)
+ {
+ strcpy (name, legacy_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 2: Convert using langtag_table and script_table. */
+ if (strlen (name) == 7 && name[2] == '-')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (langtag_table) / sizeof (langtag_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in langtag_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const langtag_entry *p = &langtag_table[i];
+ if (strcmp (name, p->langtag) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, langtag_table[i1].langtag) == 0)
+ {
+ strcpy (name, langtag_table[i1].unixy);
+ return;
+ }
+
+ i1 = 0;
+ i2 = sizeof (script_table) / sizeof (script_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if (name + 3) occurs in script_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const script_entry *p = &script_table[i];
+ if (strcmp (name + 3, p->script) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name + 3, script_table[i1].script) == 0)
+ {
+ name[2] = '@';
+ strcpy (name + 3, script_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 3: Convert new-style dash to Unix underscore. */
+ {
+ char *p;
+ for (p = name; *p != '\0'; p++)
+ if (*p == '-')
+ *p = '_';
+ }
+}
+
+#endif
+
/* XPG3 defines the result of 'setlocale (category, NULL)' as:
"Directs 'setlocale()' to query 'category' and return the current
setting of 'local'."
@@ -700,135 +984,183 @@
The result must not be freed; it is statically allocated. */
const char *
-_nl_locale_name (int category, const char *categoryname)
+_nl_locale_name_posix (int category, const char *categoryname)
{
- const char *retval;
-
-#ifndef WIN32
-
/* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
On some systems this can be done by the 'setlocale' function itself. */
-# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
- retval = setlocale (category, NULL);
-# else
- /* Setting of LC_ALL overwrites all other. */
- retval = getenv ("LC_ALL");
- if (retval == NULL || retval[0] == '\0')
- {
- /* Next comes the name of the desired category. */
- retval = getenv (categoryname);
- if (retval == NULL || retval[0] == '\0')
- {
- /* Last possibility is the LANG environment variable. */
- retval = getenv ("LANG");
- if (retval == NULL || retval[0] == '\0')
- /* We use C as the default domain. POSIX says this is
- implementation defined. */
- retval = "C";
- }
- }
-# endif
-
- return retval;
-
-#else /* WIN32 */
-
- /* Return an XPG style locale name language[_territory][@modifier].
- Don't even bother determining the codeset; it's not useful in this
- context, because message catalogs are not specific to a single
- codeset. */
-
- LCID lcid;
- LANGID langid;
- int primary, sub;
+#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
+ return setlocale (category, NULL);
+#else
+ const char *retval;
- /* Let the user override the system settings through environment
- variables, as on POSIX systems. */
+ /* Setting of LC_ALL overrides all other. */
retval = getenv ("LC_ALL");
if (retval != NULL && retval[0] != '\0')
return retval;
+ /* Next comes the name of the desired category. */
retval = getenv (categoryname);
if (retval != NULL && retval[0] != '\0')
return retval;
+ /* Last possibility is the LANG environment variable. */
retval = getenv ("LANG");
if (retval != NULL && retval[0] != '\0')
return retval;
- /* Use native Win32 API locale ID. */
- lcid = GetThreadLocale ();
+ return NULL;
+#endif
+}
- /* Strip off the sorting rules, keep only the language part. */
- langid = LANGIDFROMLCID (lcid);
+const char *
+_nl_locale_name_default (void)
+{
+ /* POSIX:2001 says:
+ "All implementations shall define a locale as the default locale, to be
+ invoked when no environment variables are set, or set to the empty
+ string. This default locale can be the POSIX locale or any other
+ implementation-defined locale. Some implementations may provide
+ facilities for local installation administrators to set the default
+ locale, customizing it for each location. POSIX:2001 does not require
+ such a facility. */
- /* Split into language and territory part. */
- primary = PRIMARYLANGID (langid);
- sub = SUBLANGID (langid);
+#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE))
- /* Dispatch on language.
- See also http://www.unicode.org/unicode/onlinedat/languages.html .
- For details about languages, see http://www.ethnologue.com/ . */
- switch (primary)
- {
- case LANG_AFRIKAANS: return "af_ZA";
- case LANG_ALBANIAN: return "sq_AL";
- case LANG_AMHARIC: return "am_ET";
- case LANG_ARABIC:
- switch (sub)
- {
- case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
- case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
- case SUBLANG_ARABIC_EGYPT: return "ar_EG";
- case SUBLANG_ARABIC_LIBYA: return "ar_LY";
- case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
- case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
- case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
- case SUBLANG_ARABIC_OMAN: return "ar_OM";
- case SUBLANG_ARABIC_YEMEN: return "ar_YE";
- case SUBLANG_ARABIC_SYRIA: return "ar_SY";
- case SUBLANG_ARABIC_JORDAN: return "ar_JO";
- case SUBLANG_ARABIC_LEBANON: return "ar_LB";
- case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
- case SUBLANG_ARABIC_UAE: return "ar_AE";
- case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
- case SUBLANG_ARABIC_QATAR: return "ar_QA";
- }
- return "ar";
- case LANG_ARMENIAN: return "hy_AM";
- case LANG_ASSAMESE: return "as_IN";
- case LANG_AZERI:
- switch (sub)
- {
- /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
- case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
- case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
- }
- return "az";
- case LANG_BASQUE:
- return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
- case LANG_BELARUSIAN: return "be_BY";
- case LANG_BENGALI:
- switch (sub)
- {
- case SUBLANG_BENGALI_INDIA: return "bn_IN";
- case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
- }
- return "bn";
- case LANG_BULGARIAN: return "bg_BG";
- case LANG_BURMESE: return "my_MM";
- case LANG_CAMBODIAN: return "km_KH";
- case LANG_CATALAN: return "ca_ES";
- case LANG_CHEROKEE: return "chr_US";
- case LANG_CHINESE:
- switch (sub)
- {
- case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
- case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
- case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
- case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
- case SUBLANG_CHINESE_MACAU: return "zh_MO";
- }
- return "zh";
- case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN
+ /* The system does not have a way of setting the locale, other than the
+ POSIX specified environment variables. We use C as default locale. */
+ return "C";
+
+#else
+
+ /* Return an XPG style locale name language[_territory][@modifier].
+ Don't even bother determining the codeset; it's not useful in this
+ context, because message catalogs are not specific to a single
+ codeset. */
+
+# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+ /* MacOS X 10.2 or newer */
+ {
+ /* Cache the locale name, since CoreFoundation calls are expensive. */
+ static const char *cached_localename;
+
+ if (cached_localename == NULL)
+ {
+ char namebuf[256];
+# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */
+ CFLocaleRef locale = CFLocaleCopyCurrent ();
+ CFStringRef name = CFLocaleGetIdentifier (locale);
+
+ if (CFStringGetCString (name, namebuf, sizeof(namebuf),
+ kCFStringEncodingASCII))
+ {
+ _nl_locale_name_canonicalize (namebuf);
+ cached_localename = strdup (namebuf);
+ }
+ CFRelease (locale);
+# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */
+ CFTypeRef value =
+ CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
+ kCFPreferencesCurrentApplication);
+ if (value != NULL
+ && CFGetTypeID (value) == CFStringGetTypeID ()
+ && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf),
+ kCFStringEncodingASCII))
+ {
+ _nl_locale_name_canonicalize (namebuf);
+ cached_localename = strdup (namebuf);
+ }
+# endif
+ if (cached_localename == NULL)
+ cached_localename = "C";
+ }
+ return cached_localename;
+ }
+
+# endif
+
+# if defined(WIN32_NATIVE) /* WIN32, not Cygwin */
+ {
+ LCID lcid;
+ LANGID langid;
+ int primary, sub;
+
+ /* Use native Win32 API locale ID. */
+ lcid = GetThreadLocale ();
+
+ /* Strip off the sorting rules, keep only the language part. */
+ langid = LANGIDFROMLCID (lcid);
+
+ /* Split into language and territory part. */
+ primary = PRIMARYLANGID (langid);
+ sub = SUBLANGID (langid);
+
+ /* Dispatch on language.
+ See also http://www.unicode.org/unicode/onlinedat/languages.html .
+ For details about languages, see http://www.ethnologue.com/ . */
+ switch (primary)
+ {
+ case LANG_AFRIKAANS: return "af_ZA";
+ case LANG_ALBANIAN: return "sq_AL";
+ case LANG_AMHARIC: return "am_ET";
+ case LANG_ARABIC:
+ switch (sub)
+ {
+ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
+ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
+ case SUBLANG_ARABIC_EGYPT: return "ar_EG";
+ case SUBLANG_ARABIC_LIBYA: return "ar_LY";
+ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
+ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
+ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
+ case SUBLANG_ARABIC_OMAN: return "ar_OM";
+ case SUBLANG_ARABIC_YEMEN: return "ar_YE";
+ case SUBLANG_ARABIC_SYRIA: return "ar_SY";
+ case SUBLANG_ARABIC_JORDAN: return "ar_JO";
+ case SUBLANG_ARABIC_LEBANON: return "ar_LB";
+ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
+ case SUBLANG_ARABIC_UAE: return "ar_AE";
+ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
+ case SUBLANG_ARABIC_QATAR: return "ar_QA";
+ }
+ return "ar";
+ case LANG_ARMENIAN: return "hy_AM";
+ case LANG_ASSAMESE: return "as_IN";
+ case LANG_AZERI:
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
+ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
+ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
+ }
+ return "az";
+ case LANG_BASQUE:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "eu_ES";
+ }
+ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
+ case LANG_BELARUSIAN: return "be_BY";
+ case LANG_BENGALI:
+ switch (sub)
+ {
+ case SUBLANG_BENGALI_INDIA: return "bn_IN";
+ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
+ }
+ return "bn";
+ case LANG_BULGARIAN: return "bg_BG";
+ case LANG_BURMESE: return "my_MM";
+ case LANG_CAMBODIAN: return "km_KH";
+ case LANG_CATALAN: return "ca_ES";
+ case LANG_CHEROKEE: return "chr_US";
+ case LANG_CHINESE:
+ switch (sub)
+ {
+ case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
+ case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
+ case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
+ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
+ case SUBLANG_CHINESE_MACAU: return "zh_MO";
+ }
+ return "zh";
+ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN
* What used to be called Serbo-Croatian
* should really now be two separate
* languages because of political reasons.
@@ -836,307 +1168,332 @@ _nl_locale_name (int category, const char *categoryname)
* or Croatian.)
* (I can feel those flames coming already.)
*/
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "hr_HR";
- case SUBLANG_SERBIAN_LATIN: return "sr_CS";
- case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
- }
- return "hr";
- case LANG_CZECH: return "cs_CZ";
- case LANG_DANISH: return "da_DK";
- case LANG_DIVEHI: return "dv_MV";
- case LANG_DUTCH:
- switch (sub)
- {
- case SUBLANG_DUTCH: return "nl_NL";
- case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
- }
- return "nl";
- case LANG_EDO: return "bin_NG";
- case LANG_ENGLISH:
- switch (sub)
- {
- /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
- * English was the language spoken in England.
- * Oh well.
- */
- case SUBLANG_ENGLISH_US: return "en_US";
- case SUBLANG_ENGLISH_UK: return "en_GB";
- case SUBLANG_ENGLISH_AUS: return "en_AU";
- case SUBLANG_ENGLISH_CAN: return "en_CA";
- case SUBLANG_ENGLISH_NZ: return "en_NZ";
- case SUBLANG_ENGLISH_EIRE: return "en_IE";
- case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
- case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
- case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
- case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
- case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
- case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
- case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
- case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
- case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
- case SUBLANG_ENGLISH_INDIA: return "en_IN";
- case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
- case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
- }
- return "en";
- case LANG_ESTONIAN: return "et_EE";
- case LANG_FAEROESE: return "fo_FO";
- case LANG_FARSI: return "fa_IR";
- case LANG_FINNISH: return "fi_FI";
- case LANG_FRENCH:
- switch (sub)
- {
- case SUBLANG_FRENCH: return "fr_FR";
- case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
- case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
- case SUBLANG_FRENCH_SWISS: return "fr_CH";
- case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
- case SUBLANG_FRENCH_MONACO: return "fr_MC";
- case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
- case SUBLANG_FRENCH_REUNION: return "fr_RE";
- case SUBLANG_FRENCH_CONGO: return "fr_CG";
- case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
- case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
- case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
- case SUBLANG_FRENCH_MALI: return "fr_ML";
- case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
- case SUBLANG_FRENCH_HAITI: return "fr_HT";
- }
- return "fr";
- case LANG_FRISIAN: return "fy_NL";
- case LANG_FULFULDE:
- /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
- return "ff_NG";
- case LANG_GAELIC:
- switch (sub)
- {
- case 0x01: /* SCOTTISH */ return "gd_GB";
- case 0x02: /* IRISH */ return "ga_IE";
- }
- return "C";
- case LANG_GALICIAN: return "gl_ES";
- case LANG_GEORGIAN: return "ka_GE";
- case LANG_GERMAN:
- switch (sub)
- {
- case SUBLANG_GERMAN: return "de_DE";
- case SUBLANG_GERMAN_SWISS: return "de_CH";
- case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
- case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
- case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
- }
- return "de";
- case LANG_GREEK: return "el_GR";
- case LANG_GUARANI: return "gn_PY";
- case LANG_GUJARATI: return "gu_IN";
- case LANG_HAUSA: return "ha_NG";
- case LANG_HAWAIIAN:
- /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
- or Hawaii Creole English ("cpe_US", 600000 speakers)? */
- return "cpe_US";
- case LANG_HEBREW: return "he_IL";
- case LANG_HINDI: return "hi_IN";
- case LANG_HUNGARIAN: return "hu_HU";
- case LANG_IBIBIO: return "nic_NG";
- case LANG_ICELANDIC: return "is_IS";
- case LANG_IGBO: return "ig_NG";
- case LANG_INDONESIAN: return "id_ID";
- case LANG_INUKTITUT: return "iu_CA";
- case LANG_ITALIAN:
- switch (sub)
- {
- case SUBLANG_ITALIAN: return "it_IT";
- case SUBLANG_ITALIAN_SWISS: return "it_CH";
- }
- return "it";
- case LANG_JAPANESE: return "ja_JP";
- case LANG_KANNADA: return "kn_IN";
- case LANG_KANURI: return "kr_NG";
- case LANG_KASHMIRI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ks_PK";
- case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
- }
- return "ks";
- case LANG_KAZAK: return "kk_KZ";
- case LANG_KONKANI:
- /* FIXME: Adjust this when such locales appear on Unix. */
- return "kok_IN";
- case LANG_KOREAN: return "ko_KR";
- case LANG_KYRGYZ: return "ky_KG";
- case LANG_LAO: return "lo_LA";
- case LANG_LATIN: return "la_VA";
- case LANG_LATVIAN: return "lv_LV";
- case LANG_LITHUANIAN: return "lt_LT";
- case LANG_MACEDONIAN: return "mk_MK";
- case LANG_MALAY:
- switch (sub)
- {
- case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
- case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
- }
- return "ms";
- case LANG_MALAYALAM: return "ml_IN";
- case LANG_MALTESE: return "mt_MT";
- case LANG_MANIPURI:
- /* FIXME: Adjust this when such locales appear on Unix. */
- return "mni_IN";
- case LANG_MARATHI: return "mr_IN";
- case LANG_MONGOLIAN:
- return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
- case LANG_NEPALI:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "ne_NP";
- case SUBLANG_NEPALI_INDIA: return "ne_IN";
- }
- return "ne";
- case LANG_NORWEGIAN:
- switch (sub)
- {
- case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
- case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
- }
- return "no";
- case LANG_ORIYA: return "or_IN";
- case LANG_OROMO: return "om_ET";
- case LANG_PAPIAMENTU: return "pap_AN";
- case LANG_PASHTO:
- return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
- case LANG_POLISH: return "pl_PL";
- case LANG_PORTUGUESE:
- switch (sub)
- {
- case SUBLANG_PORTUGUESE: return "pt_PT";
- /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
- Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
- case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
- }
- return "pt";
- case LANG_PUNJABI:
- switch (sub)
- {
- case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
- case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
- }
- return "pa";
- case LANG_RHAETO_ROMANCE: return "rm_CH";
- case LANG_ROMANIAN:
- switch (sub)
- {
- case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
- case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
- }
- return "ro";
- case LANG_RUSSIAN:
- return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
- case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
- case LANG_SANSKRIT: return "sa_IN";
- case LANG_SINDHI:
- switch (sub)
- {
- case SUBLANG_SINDHI_INDIA: return "sd_IN";
- case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
- }
- return "sd";
- case LANG_SINHALESE: return "si_LK";
- case LANG_SLOVAK: return "sk_SK";
- case LANG_SLOVENIAN: return "sl_SI";
- case LANG_SOMALI: return "so_SO";
- case LANG_SORBIAN:
- /* FIXME: Adjust this when such locales appear on Unix. */
- return "wen_DE";
- case LANG_SPANISH:
- switch (sub)
- {
- case SUBLANG_SPANISH: return "es_ES";
- case SUBLANG_SPANISH_MEXICAN: return "es_MX";
- case SUBLANG_SPANISH_MODERN:
- return "es_ES@modern"; /* not seen on Unix */
- case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
- case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
- case SUBLANG_SPANISH_PANAMA: return "es_PA";
- case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
- case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
- case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
- case SUBLANG_SPANISH_PERU: return "es_PE";
- case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
- case SUBLANG_SPANISH_ECUADOR: return "es_EC";
- case SUBLANG_SPANISH_CHILE: return "es_CL";
- case SUBLANG_SPANISH_URUGUAY: return "es_UY";
- case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
- case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
- case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
- case SUBLANG_SPANISH_HONDURAS: return "es_HN";
- case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
- case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
- }
- return "es";
- case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
- case LANG_SWAHILI: return "sw_KE";
- case LANG_SWEDISH:
- switch (sub)
- {
- case SUBLANG_DEFAULT: return "sv_SE";
- case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
- }
- return "sv";
- case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */
- case LANG_TAGALOG: return "tl_PH";
- case LANG_TAJIK: return "tg_TJ";
- case LANG_TAMAZIGHT:
- switch (sub)
- {
- /* FIXME: Adjust this when Tamazight locales appear on Unix. */
- case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
- case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin";
- }
- return "ber_MA";
- case LANG_TAMIL:
- return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
- case LANG_TATAR: return "tt_RU";
- case LANG_TELUGU: return "te_IN";
- case LANG_THAI: return "th_TH";
- case LANG_TIBETAN: return "bo_CN";
- case LANG_TIGRINYA:
- switch (sub)
- {
- case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
- case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
- }
- return "ti";
- case LANG_TSONGA: return "ts_ZA";
- case LANG_TSWANA: return "tn_BW";
- case LANG_TURKISH: return "tr_TR";
- case LANG_TURKMEN: return "tk_TM";
- case LANG_UKRAINIAN: return "uk_UA";
- case LANG_URDU:
- switch (sub)
- {
- case SUBLANG_URDU_PAKISTAN: return "ur_PK";
- case SUBLANG_URDU_INDIA: return "ur_IN";
- }
- return "ur";
- case LANG_UZBEK:
- switch (sub)
- {
- case SUBLANG_UZBEK_LATIN: return "uz_UZ";
- case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
- }
- return "uz";
- case LANG_VENDA: return "ve_ZA";
- case LANG_VIETNAMESE: return "vi_VN";
- case LANG_WELSH: return "cy_GB";
- case LANG_XHOSA: return "xh_ZA";
- case LANG_YI: return "sit_CN";
- case LANG_YIDDISH: return "yi_IL";
- case LANG_YORUBA: return "yo_NG";
- case LANG_ZULU: return "zu_ZA";
- default: return "C";
- }
-
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "hr_HR";
+ case SUBLANG_SERBIAN_LATIN: return "sr_CS";
+ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
+ }
+ return "hr";
+ case LANG_CZECH: return "cs_CZ";
+ case LANG_DANISH: return "da_DK";
+ case LANG_DIVEHI: return "dv_MV";
+ case LANG_DUTCH:
+ switch (sub)
+ {
+ case SUBLANG_DUTCH: return "nl_NL";
+ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
+ }
+ return "nl";
+ case LANG_EDO: return "bin_NG";
+ case LANG_ENGLISH:
+ switch (sub)
+ {
+ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
+ * English was the language spoken in England.
+ * Oh well.
+ */
+ case SUBLANG_ENGLISH_US: return "en_US";
+ case SUBLANG_ENGLISH_UK: return "en_GB";
+ case SUBLANG_ENGLISH_AUS: return "en_AU";
+ case SUBLANG_ENGLISH_CAN: return "en_CA";
+ case SUBLANG_ENGLISH_NZ: return "en_NZ";
+ case SUBLANG_ENGLISH_EIRE: return "en_IE";
+ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
+ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
+ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
+ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
+ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
+ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
+ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
+ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
+ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
+ case SUBLANG_ENGLISH_INDIA: return "en_IN";
+ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
+ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
+ }
+ return "en";
+ case LANG_ESTONIAN: return "et_EE";
+ case LANG_FAEROESE: return "fo_FO";
+ case LANG_FARSI: return "fa_IR";
+ case LANG_FINNISH: return "fi_FI";
+ case LANG_FRENCH:
+ switch (sub)
+ {
+ case SUBLANG_FRENCH: return "fr_FR";
+ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
+ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
+ case SUBLANG_FRENCH_SWISS: return "fr_CH";
+ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
+ case SUBLANG_FRENCH_MONACO: return "fr_MC";
+ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
+ case SUBLANG_FRENCH_REUNION: return "fr_RE";
+ case SUBLANG_FRENCH_CONGO: return "fr_CG";
+ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
+ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
+ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
+ case SUBLANG_FRENCH_MALI: return "fr_ML";
+ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
+ case SUBLANG_FRENCH_HAITI: return "fr_HT";
+ }
+ return "fr";
+ case LANG_FRISIAN: return "fy_NL";
+ case LANG_FULFULDE:
+ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
+ return "ff_NG";
+ case LANG_GAELIC:
+ switch (sub)
+ {
+ case 0x01: /* SCOTTISH */ return "gd_GB";
+ case 0x02: /* IRISH */ return "ga_IE";
+ }
+ return "C";
+ case LANG_GALICIAN: return "gl_ES";
+ case LANG_GEORGIAN: return "ka_GE";
+ case LANG_GERMAN:
+ switch (sub)
+ {
+ case SUBLANG_GERMAN: return "de_DE";
+ case SUBLANG_GERMAN_SWISS: return "de_CH";
+ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
+ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
+ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
+ }
+ return "de";
+ case LANG_GREEK: return "el_GR";
+ case LANG_GUARANI: return "gn_PY";
+ case LANG_GUJARATI: return "gu_IN";
+ case LANG_HAUSA: return "ha_NG";
+ case LANG_HAWAIIAN:
+ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
+ or Hawaii Creole English ("cpe_US", 600000 speakers)? */
+ return "cpe_US";
+ case LANG_HEBREW: return "he_IL";
+ case LANG_HINDI: return "hi_IN";
+ case LANG_HUNGARIAN: return "hu_HU";
+ case LANG_IBIBIO: return "nic_NG";
+ case LANG_ICELANDIC: return "is_IS";
+ case LANG_IGBO: return "ig_NG";
+ case LANG_INDONESIAN: return "id_ID";
+ case LANG_INUKTITUT: return "iu_CA";
+ case LANG_ITALIAN:
+ switch (sub)
+ {
+ case SUBLANG_ITALIAN: return "it_IT";
+ case SUBLANG_ITALIAN_SWISS: return "it_CH";
+ }
+ return "it";
+ case LANG_JAPANESE: return "ja_JP";
+ case LANG_KANNADA: return "kn_IN";
+ case LANG_KANURI: return "kr_NG";
+ case LANG_KASHMIRI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ks_PK";
+ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
+ }
+ return "ks";
+ case LANG_KAZAK: return "kk_KZ";
+ case LANG_KONKANI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ return "kok_IN";
+ case LANG_KOREAN: return "ko_KR";
+ case LANG_KYRGYZ: return "ky_KG";
+ case LANG_LAO: return "lo_LA";
+ case LANG_LATIN: return "la_VA";
+ case LANG_LATVIAN: return "lv_LV";
+ case LANG_LITHUANIAN: return "lt_LT";
+ case LANG_MACEDONIAN: return "mk_MK";
+ case LANG_MALAY:
+ switch (sub)
+ {
+ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
+ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
+ }
+ return "ms";
+ case LANG_MALAYALAM: return "ml_IN";
+ case LANG_MALTESE: return "mt_MT";
+ case LANG_MANIPURI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ return "mni_IN";
+ case LANG_MARATHI: return "mr_IN";
+ case LANG_MONGOLIAN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "mn_MN";
+ }
+ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
+ case LANG_NEPALI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ne_NP";
+ case SUBLANG_NEPALI_INDIA: return "ne_IN";
+ }
+ return "ne";
+ case LANG_NORWEGIAN:
+ switch (sub)
+ {
+ case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
+ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
+ }
+ return "no";
+ case LANG_ORIYA: return "or_IN";
+ case LANG_OROMO: return "om_ET";
+ case LANG_PAPIAMENTU: return "pap_AN";
+ case LANG_PASHTO:
+ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
+ case LANG_POLISH: return "pl_PL";
+ case LANG_PORTUGUESE:
+ switch (sub)
+ {
+ case SUBLANG_PORTUGUESE: return "pt_PT";
+ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
+ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
+ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
+ }
+ return "pt";
+ case LANG_PUNJABI:
+ switch (sub)
+ {
+ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
+ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
+ }
+ return "pa";
+ case LANG_RHAETO_ROMANCE: return "rm_CH";
+ case LANG_ROMANIAN:
+ switch (sub)
+ {
+ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
+ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
+ }
+ return "ro";
+ case LANG_RUSSIAN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ru_RU";
+ }
+ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
+ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
+ case LANG_SANSKRIT: return "sa_IN";
+ case LANG_SINDHI:
+ switch (sub)
+ {
+ case SUBLANG_SINDHI_INDIA: return "sd_IN";
+ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
+ }
+ return "sd";
+ case LANG_SINHALESE: return "si_LK";
+ case LANG_SLOVAK: return "sk_SK";
+ case LANG_SLOVENIAN: return "sl_SI";
+ case LANG_SOMALI: return "so_SO";
+ case LANG_SORBIAN:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ return "wen_DE";
+ case LANG_SPANISH:
+ switch (sub)
+ {
+ case SUBLANG_SPANISH: return "es_ES";
+ case SUBLANG_SPANISH_MEXICAN: return "es_MX";
+ case SUBLANG_SPANISH_MODERN:
+ return "es_ES@modern"; /* not seen on Unix */
+ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
+ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
+ case SUBLANG_SPANISH_PANAMA: return "es_PA";
+ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
+ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
+ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
+ case SUBLANG_SPANISH_PERU: return "es_PE";
+ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
+ case SUBLANG_SPANISH_ECUADOR: return "es_EC";
+ case SUBLANG_SPANISH_CHILE: return "es_CL";
+ case SUBLANG_SPANISH_URUGUAY: return "es_UY";
+ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
+ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
+ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
+ case SUBLANG_SPANISH_HONDURAS: return "es_HN";
+ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
+ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
+ }
+ return "es";
+ case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
+ case LANG_SWAHILI: return "sw_KE";
+ case LANG_SWEDISH:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "sv_SE";
+ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
+ }
+ return "sv";
+ case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */
+ case LANG_TAGALOG: return "tl_PH";
+ case LANG_TAJIK: return "tg_TJ";
+ case LANG_TAMAZIGHT:
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Tamazight locales appear on Unix. */
+ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
+ case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin";
+ }
+ return "ber_MA";
+ case LANG_TAMIL:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ta_IN";
+ }
+ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
+ case LANG_TATAR: return "tt_RU";
+ case LANG_TELUGU: return "te_IN";
+ case LANG_THAI: return "th_TH";
+ case LANG_TIBETAN: return "bo_CN";
+ case LANG_TIGRINYA:
+ switch (sub)
+ {
+ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
+ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
+ }
+ return "ti";
+ case LANG_TSONGA: return "ts_ZA";
+ case LANG_TSWANA: return "tn_BW";
+ case LANG_TURKISH: return "tr_TR";
+ case LANG_TURKMEN: return "tk_TM";
+ case LANG_UKRAINIAN: return "uk_UA";
+ case LANG_URDU:
+ switch (sub)
+ {
+ case SUBLANG_URDU_PAKISTAN: return "ur_PK";
+ case SUBLANG_URDU_INDIA: return "ur_IN";
+ }
+ return "ur";
+ case LANG_UZBEK:
+ switch (sub)
+ {
+ case SUBLANG_UZBEK_LATIN: return "uz_UZ";
+ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
+ }
+ return "uz";
+ case LANG_VENDA: return "ve_ZA";
+ case LANG_VIETNAMESE: return "vi_VN";
+ case LANG_WELSH: return "cy_GB";
+ case LANG_XHOSA: return "xh_ZA";
+ case LANG_YI: return "sit_CN";
+ case LANG_YIDDISH: return "yi_IL";
+ case LANG_YORUBA: return "yo_NG";
+ case LANG_ZULU: return "zu_ZA";
+ default: return "C";
+ }
+ }
+# endif
#endif
}
+
+const char *
+_nl_locale_name (int category, const char *categoryname)
+{
+ const char *retval;
+
+ retval = _nl_locale_name_posix (category, categoryname);
+ if (retval != NULL)
+ return retval;
+
+ return _nl_locale_name_default ();
+}
diff --git a/intl/log.c b/intl/log.c
index cb6076e80..e3ab5d0e6 100644
--- a/intl/log.c
+++ b/intl/log.c
@@ -1,5 +1,5 @@
/* Log file output.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Written by Bruno Haible <bruno@clisp.org>. */
@@ -26,6 +26,13 @@
#include <stdlib.h>
#include <string.h>
+/* Handle multi-threaded applications. */
+#ifdef _LIBC
+# include <bits/libc-lock.h>
+#else
+# include "lock.h"
+#endif
+
/* Print an ASCII string with quotes and escape sequences where needed. */
static void
print_escaped (FILE *stream, const char *str)
@@ -48,13 +55,14 @@ print_escaped (FILE *stream, const char *str)
putc ('"', stream);
}
-/* Add to the log file an entry denoting a failed translation. */
-void
-_nl_log_untranslated (const char *logfilename, const char *domainname,
- const char *msgid1, const char *msgid2, int plural)
+static char *last_logfilename = NULL;
+static FILE *last_logfile = NULL;
+__libc_lock_define_initialized (static, lock)
+
+static inline void
+_nl_log_untranslated_locked (const char *logfilename, const char *domainname,
+ const char *msgid1, const char *msgid2, int plural)
{
- static char *last_logfilename = NULL;
- static FILE *last_logfile = NULL;
FILE *logfile;
/* Can we reuse the last opened logfile? */
@@ -96,3 +104,13 @@ _nl_log_untranslated (const char *logfilename, const char *domainname,
fprintf (logfile, "\nmsgstr \"\"\n");
putc ('\n', logfile);
}
+
+/* Add to the log file an entry denoting a failed translation. */
+void
+_nl_log_untranslated (const char *logfilename, const char *domainname,
+ const char *msgid1, const char *msgid2, int plural)
+{
+ __libc_lock_lock (lock);
+ _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural);
+ __libc_lock_unlock (lock);
+}
diff --git a/intl/ngettext.c b/intl/ngettext.c
index e73e00c48..a33529c20 100644
--- a/intl/ngettext.c
+++ b/intl/ngettext.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/os2compat.c b/intl/os2compat.c
index c8dc33e7c..d041de2af 100644
--- a/intl/os2compat.c
+++ b/intl/os2compat.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#define OS2_AWARE
diff --git a/intl/os2compat.h b/intl/os2compat.h
index 4f74e8c03..a18d582cd 100644
--- a/intl/os2compat.h
+++ b/intl/os2compat.h
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* When included from os2compat.h we need all the original definitions */
diff --git a/intl/osdep.c b/intl/osdep.c
index b37259838..3cc35c03b 100644
--- a/intl/osdep.c
+++ b/intl/osdep.c
@@ -1,5 +1,5 @@
/* OS dependent parts of libintl.
- Copyright (C) 2001-2002 Free Software Foundation, Inc.
+ Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,10 +13,12 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
-#if defined __EMX__
+#if defined __CYGWIN__
+# include "intl-exports.c"
+#elif defined __EMX__
# include "os2compat.c"
#else
/* Avoid AIX compiler warning. */
diff --git a/intl/plural-exp.c b/intl/plural-exp.c
index 8c04e6426..f518bf1dc 100644
--- a/intl/plural-exp.c
+++ b/intl/plural-exp.c
@@ -1,5 +1,5 @@
/* Expression parsing for plural form selection.
- Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -27,7 +27,7 @@
#include "plural-exp.h"
-#if (defined __GNUC__ && !defined __APPLE_CC__) \
+#if (defined __GNUC__ && !(__APPLE_CC__ > 1)) \
|| (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
/* These structs are the constant expression for the germanic plural
diff --git a/intl/plural-exp.h b/intl/plural-exp.h
index 49e2c5bfc..dc590d374 100644
--- a/intl/plural-exp.h
+++ b/intl/plural-exp.h
@@ -1,5 +1,5 @@
/* Expression parsing and evaluation for plural form selection.
- Copyright (C) 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _PLURAL_EXP_H
@@ -110,7 +110,7 @@ extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
unsigned long int *npluralsp)
internal_function;
-#if !defined (_LIBC) && !defined (IN_LIBINTL)
+#if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE)
extern unsigned long int plural_eval (struct expression *pexp,
unsigned long int n);
#endif
diff --git a/intl/plural.c b/intl/plural.c
index 72494f9eb..5f73b403f 100644
--- a/intl/plural.c
+++ b/intl/plural.c
@@ -19,7 +19,7 @@
#line 1 "plural.y"
/* Expression parsing for plural form selection.
- Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software; you can redistribute it and/or modify it
@@ -34,13 +34,14 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
-/* The bison generated parser uses alloca. AIX 3 forces us to put this
- declaration at the beginning of the file. The declaration in bison's
- skeleton file comes too late. This must come before <config.h>
- because <config.h> may include arbitrary system headers. */
+/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us
+ to put this declaration at the beginning of the file. The declaration in
+ bison's skeleton file comes too late. This must come before <config.h>
+ because <config.h> may include arbitrary system headers.
+ This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */
#if defined _AIX && !defined __GNUC__
#pragma alloca
#endif
@@ -51,6 +52,7 @@
#include <stddef.h>
#include <stdlib.h>
+#include <string.h>
#include "plural-exp.h"
/* The main function generated by the parser is called __gettextparse,
@@ -62,7 +64,7 @@
#define YYLEX_PARAM &((struct parse_args *) arg)->cp
#define YYPARSE_PARAM arg
-#line 49 "plural.y"
+#line 51 "plural.y"
#ifndef YYSTYPE
typedef union {
unsigned long int num;
@@ -72,7 +74,7 @@ typedef union {
# define YYSTYPE yystype
# define YYSTYPE_IS_TRIVIAL 1
#endif
-#line 55 "plural.y"
+#line 57 "plural.y"
/* Prototypes for local functions. */
static int yylex (YYSTYPE *lval, const char **pexp);
@@ -212,8 +214,8 @@ static const short yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const short yyrline[] =
{
- 0, 150, 158, 162, 166, 170, 174, 178, 182, 186,
- 190, 194, 199
+ 0, 152, 160, 164, 168, 172, 176, 180, 184, 188,
+ 192, 196, 201
};
#endif
@@ -296,7 +298,7 @@ static const short yycheck[] =
#define YYPURE 1
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/local/share/bison/bison.simple"
+#line 3 "bison.simple"
/* Skeleton output parser for bison,
@@ -609,7 +611,7 @@ yystpcpy (yydest, yysrc)
# endif
#endif
-#line 315 "/usr/local/share/bison/bison.simple"
+#line 315 "bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
@@ -1003,7 +1005,7 @@ yyreduce:
switch (yyn) {
case 1:
-#line 151 "plural.y"
+#line 153 "plural.y"
{
if (yyvsp[0].exp == NULL)
YYABORT;
@@ -1011,75 +1013,75 @@ case 1:
}
break;
case 2:
-#line 159 "plural.y"
+#line 161 "plural.y"
{
yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 3:
-#line 163 "plural.y"
+#line 165 "plural.y"
{
yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 4:
-#line 167 "plural.y"
+#line 169 "plural.y"
{
yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 5:
-#line 171 "plural.y"
+#line 173 "plural.y"
{
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 6:
-#line 175 "plural.y"
+#line 177 "plural.y"
{
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 7:
-#line 179 "plural.y"
+#line 181 "plural.y"
{
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 8:
-#line 183 "plural.y"
+#line 185 "plural.y"
{
yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
}
break;
case 9:
-#line 187 "plural.y"
+#line 189 "plural.y"
{
yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
}
break;
case 10:
-#line 191 "plural.y"
+#line 193 "plural.y"
{
yyval.exp = new_exp_0 (var);
}
break;
case 11:
-#line 195 "plural.y"
+#line 197 "plural.y"
{
if ((yyval.exp = new_exp_0 (num)) != NULL)
yyval.exp->val.num = yyvsp[0].num;
}
break;
case 12:
-#line 200 "plural.y"
+#line 202 "plural.y"
{
yyval.exp = yyvsp[-1].exp;
}
break;
}
-#line 705 "/usr/local/share/bison/bison.simple"
+#line 705 "bison.simple"
yyvsp -= yylen;
@@ -1310,7 +1312,7 @@ yyreturn:
#endif
return yyresult;
}
-#line 205 "plural.y"
+#line 207 "plural.y"
void
diff --git a/intl/plural.y b/intl/plural.y
index 4d33bd7c7..45d68e949 100644
--- a/intl/plural.y
+++ b/intl/plural.y
@@ -1,6 +1,6 @@
%{
/* Expression parsing for plural form selection.
- Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
This program is free software; you can redistribute it and/or modify it
@@ -15,13 +15,14 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
-/* The bison generated parser uses alloca. AIX 3 forces us to put this
- declaration at the beginning of the file. The declaration in bison's
- skeleton file comes too late. This must come before <config.h>
- because <config.h> may include arbitrary system headers. */
+/* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us
+ to put this declaration at the beginning of the file. The declaration in
+ bison's skeleton file comes too late. This must come before <config.h>
+ because <config.h> may include arbitrary system headers.
+ This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */
#if defined _AIX && !defined __GNUC__
#pragma alloca
#endif
@@ -32,6 +33,7 @@
#include <stddef.h>
#include <stdlib.h>
+#include <string.h>
#include "plural-exp.h"
/* The main function generated by the parser is called __gettextparse,
diff --git a/intl/printf-args.c b/intl/printf-args.c
index f6f3219e7..47b73d2c1 100644
--- a/intl/printf-args.c
+++ b/intl/printf-args.c
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
- Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -80,15 +80,40 @@ printf_fetchargs (va_list args, arguments *a)
break;
#ifdef HAVE_WINT_T
case TYPE_WIDE_CHAR:
- ap->a.a_wide_char = va_arg (args, wint_t);
+ /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
+ default argument promotions", this is not the case in mingw32,
+ where wint_t is 'unsigned short'. */
+ ap->a.a_wide_char =
+ (sizeof (wint_t) < sizeof (int)
+ ? va_arg (args, int)
+ : va_arg (args, wint_t));
break;
#endif
case TYPE_STRING:
ap->a.a_string = va_arg (args, const char *);
+ /* A null pointer is an invalid argument for "%s", but in practice
+ it occurs quite frequently in printf statements that produce
+ debug output. Use a fallback in this case. */
+ if (ap->a.a_string == NULL)
+ ap->a.a_string = "(NULL)";
break;
#ifdef HAVE_WCHAR_T
case TYPE_WIDE_STRING:
ap->a.a_wide_string = va_arg (args, const wchar_t *);
+ /* A null pointer is an invalid argument for "%ls", but in practice
+ it occurs quite frequently in printf statements that produce
+ debug output. Use a fallback in this case. */
+ if (ap->a.a_wide_string == NULL)
+ {
+ static const wchar_t wide_null_string[] =
+ {
+ (wchar_t)'(',
+ (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L',
+ (wchar_t)')',
+ (wchar_t)0
+ };
+ ap->a.a_wide_string = wide_null_string;
+ }
break;
#endif
case TYPE_POINTER:
diff --git a/intl/printf-args.h b/intl/printf-args.h
index f11e64c04..625b8036a 100644
--- a/intl/printf-args.h
+++ b/intl/printf-args.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _PRINTF_ARGS_H
diff --git a/intl/printf-parse.c b/intl/printf-parse.c
index d19f903d7..20240e379 100644
--- a/intl/printf-parse.c
+++ b/intl/printf-parse.c
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
diff --git a/intl/printf-parse.h b/intl/printf-parse.h
index 8aec50e2a..e78533895 100644
--- a/intl/printf-parse.h
+++ b/intl/printf-parse.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _PRINTF_PARSE_H
diff --git a/intl/printf.c b/intl/printf.c
index 878646c2d..275968b37 100644
--- a/intl/printf.c
+++ b/intl/printf.c
@@ -1,5 +1,5 @@
/* Formatted output to strings, using POSIX/XSI format strings with positions.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -61,6 +61,14 @@ char *alloca ();
#define STATIC static
+/* This needs to be consistent with libgnuintl.h.in. */
+#if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__
+/* Don't break __attribute__((format(printf,M,N))).
+ This redefinition is only possible because the libc in NetBSD, Cygwin,
+ mingw does not have a function __printf__. */
+# define libintl_printf __printf__
+#endif
+
/* Define auxiliary functions declared in "printf-args.h". */
#include "printf-args.c"
diff --git a/intl/ref-add.sin b/intl/ref-add.sin
index 167374e3c..3678c2892 100644
--- a/intl/ref-add.sin
+++ b/intl/ref-add.sin
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# Written by Bruno Haible <haible@clisp.cons.org>.
diff --git a/intl/ref-del.sin b/intl/ref-del.sin
index 613cf37f3..0c12d8e95 100644
--- a/intl/ref-del.sin
+++ b/intl/ref-del.sin
@@ -14,7 +14,7 @@
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# Written by Bruno Haible <haible@clisp.cons.org>.
diff --git a/intl/relocatable.c b/intl/relocatable.c
index bf7c70854..7cc8daf77 100644
--- a/intl/relocatable.c
+++ b/intl/relocatable.c
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003-2005 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
@@ -45,7 +45,7 @@
# include "xalloc.h"
#endif
-#if defined _WIN32 || defined __WIN32__
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif
@@ -72,20 +72,20 @@
ISSLASH(C) tests whether C is a directory separator character.
IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
*/
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
- /* Win32, OS/2, DOS */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS */
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
# define HAS_DEVICE(P) \
((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
&& (P)[1] == ':')
# define IS_PATH_WITH_DIR(P) \
(strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
-# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
+# define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
#else
/* Unix */
# define ISSLASH(C) ((C) == '/')
# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
-# define FILESYSTEM_PREFIX_LEN(P) 0
+# define FILE_SYSTEM_PREFIX_LEN(P) 0
#endif
/* Original installation prefix. */
@@ -189,7 +189,7 @@ compute_curr_prefix (const char *orig_installprefix,
/* Determine the current installation directory. */
{
- const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);
+ const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname);
const char *p = curr_pathname + strlen (curr_pathname);
char *q;
@@ -216,7 +216,7 @@ compute_curr_prefix (const char *orig_installprefix,
const char *rp = rel_installdir + strlen (rel_installdir);
const char *cp = curr_installdir + strlen (curr_installdir);
const char *cp_base =
- curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
+ curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir);
while (rp > rel_installdir && cp > cp_base)
{
@@ -234,8 +234,11 @@ compute_curr_prefix (const char *orig_installprefix,
same = true;
break;
}
-#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
- /* Win32, OS/2, DOS - case insignificant filesystem */
+ /* Do case-insensitive comparison if the filesystem is always or
+ often case-insensitive. It's better to accept the comparison
+ if the difference is only in case, rather than to fail. */
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__
+ /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */
if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
!= (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
break;
@@ -280,7 +283,7 @@ compute_curr_prefix (const char *orig_installprefix,
/* Full pathname of shared library, or NULL. */
static char *shared_library_fullname;
-#if defined _WIN32 || defined __WIN32__
+#if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
/* Determine the full pathname of the shared library when it is loaded. */
@@ -302,13 +305,31 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
/* Shouldn't happen. */
return FALSE;
- shared_library_fullname = strdup (location);
+ {
+#if defined __CYGWIN__
+ /* On Cygwin, we need to convert paths coming from Win32 system calls
+ to the Unix-like slashified notation. */
+ static char location_as_posix_path[2 * MAX_PATH];
+ /* There's no error return defined for cygwin_conv_to_posix_path.
+ See cygwin-api/func-cygwin-conv-to-posix-path.html.
+ Does it overflow the buffer of expected size MAX_PATH or does it
+ truncate the path? I don't know. Let's catch both. */
+ cygwin_conv_to_posix_path (location, location_as_posix_path);
+ location_as_posix_path[MAX_PATH - 1] = '\0';
+ if (strlen (location_as_posix_path) >= MAX_PATH - 1)
+ /* A sign of buffer overflow or path truncation. */
+ return FALSE;
+ shared_library_fullname = strdup (location_as_posix_path);
+#else
+ shared_library_fullname = strdup (location);
+#endif
+ }
}
return TRUE;
}
-#else /* Unix */
+#else /* Unix except Cygwin */
static void
find_shared_library_fullname ()
@@ -359,15 +380,15 @@ find_shared_library_fullname ()
#endif
}
-#endif /* WIN32 / Unix */
+#endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */
/* Return the full pathname of the current shared library.
Return NULL if unknown.
- Guaranteed to work only on Linux and Woe32. */
+ Guaranteed to work only on Linux, Cygwin and Woe32. */
static char *
get_shared_library_fullname ()
{
-#if !(defined _WIN32 || defined __WIN32__)
+#if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__)
static bool tried_find_shared_library_fullname;
if (!tried_find_shared_library_fullname)
{
diff --git a/intl/relocatable.h b/intl/relocatable.h
index 48c5b71e2..f6d38321a 100644
--- a/intl/relocatable.h
+++ b/intl/relocatable.h
@@ -1,5 +1,5 @@
/* Provide relocatable packages.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2005 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software; you can redistribute it and/or modify it
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _RELOCATABLE_H
@@ -31,7 +31,9 @@ extern "C" {
/* When building a DLL, we must export some functions. Note that because
this is a private .h file, we don't need to use __declspec(dllimport)
in any case. */
-#if defined _MSC_VER && BUILDING_DLL
+#if HAVE_VISIBILITY && BUILDING_DLL
+# define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default")))
+#elif defined _MSC_VER && BUILDING_DLL
# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
#else
# define RELOCATABLE_DLL_EXPORTED
diff --git a/intl/textdomain.c b/intl/textdomain.c
index 8745a8435..c316460fd 100644
--- a/intl/textdomain.c
+++ b/intl/textdomain.c
@@ -1,5 +1,5 @@
/* Implementation of the textdomain(3) function.
- Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifdef HAVE_CONFIG_H
@@ -23,21 +23,21 @@
#include <stdlib.h>
#include <string.h>
+#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
-#include "gettextP.h"
+/* Handle multi-threaded applications. */
#ifdef _LIBC
-/* We have to handle multi-threaded applications. */
# include <bits/libc-lock.h>
+# define gl_rwlock_define __libc_rwlock_define
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
#else
-/* Provide dummy implementation if this is outside glibc. */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
#endif
/* The internal variables in the standalone libintl.a must have different
@@ -71,7 +71,7 @@ extern const char *_nl_current_default_domain attribute_hidden;
#endif
/* Lock variable to protect the global data in the gettext implementation. */
-__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
+gl_rwlock_define (extern, _nl_state_lock attribute_hidden)
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
@@ -86,7 +86,7 @@ TEXTDOMAIN (const char *domainname)
if (domainname == NULL)
return (char *) _nl_current_default_domain;
- __libc_rwlock_wrlock (_nl_state_lock);
+ gl_rwlock_wrlock (_nl_state_lock);
old_domain = (char *) _nl_current_default_domain;
@@ -130,7 +130,7 @@ TEXTDOMAIN (const char *domainname)
free (old_domain);
}
- __libc_rwlock_unlock (_nl_state_lock);
+ gl_rwlock_unlock (_nl_state_lock);
return new_domain;
}
diff --git a/intl/vasnprintf.c b/intl/vasnprintf.c
index 8a62282d7..cef29a756 100644
--- a/intl/vasnprintf.c
+++ b/intl/vasnprintf.c
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
@@ -41,7 +41,7 @@
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
#include <string.h> /* memcpy(), strlen() */
#include <errno.h> /* errno */
-#include <limits.h> /* CHAR_BIT */
+#include <limits.h> /* CHAR_BIT, INT_MAX */
#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
#if WIDE_CHAR_VERSION
# include "wprintf-parse.h"
@@ -52,6 +52,11 @@
/* Checked size_t computations. */
#include "xsize.h"
+/* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */
+#ifndef EOVERFLOW
+# define EOVERFLOW E2BIG
+#endif
+
#ifdef HAVE_WCHAR_T
# ifdef HAVE_WCSLEN
# define local_wcslen wcslen
@@ -316,9 +321,8 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
const CHAR_T *digitp = dp->precision_start + 1;
precision = 0;
- do
+ while (digitp != dp->precision_end)
precision = xsum (xtimes (precision, 10), *digitp++ - '0');
- while (digitp != dp->precision_end);
}
}
@@ -331,28 +335,28 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
tmp_length =
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
* 0.30103 /* binary -> decimal */
- * 2 /* estimate for FLAG_GROUP */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
else
# endif
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
tmp_length =
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
* 0.30103 /* binary -> decimal */
- * 2 /* estimate for FLAG_GROUP */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
else
tmp_length =
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
* 0.30103 /* binary -> decimal */
- * 2 /* estimate for FLAG_GROUP */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Multiply by 2, as an estimate for FLAG_GROUP. */
+ tmp_length = xsum (tmp_length, tmp_length);
+ /* Add 1, to account for a leading sign. */
+ tmp_length = xsum (tmp_length, 1);
break;
case 'o':
@@ -362,8 +366,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
* 0.333334 /* binary -> octal */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
else
# endif
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
@@ -371,15 +374,17 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
* 0.333334 /* binary -> octal */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
else
tmp_length =
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
* 0.333334 /* binary -> octal */
)
- + 1 /* turn floor into ceil */
- + 1; /* account for leading sign */
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 1, to account for a leading sign. */
+ tmp_length = xsum (tmp_length, 1);
break;
case 'x': case 'X':
@@ -389,8 +394,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
(unsigned int) (sizeof (unsigned long long) * CHAR_BIT
* 0.25 /* binary -> hexadecimal */
)
- + 1 /* turn floor into ceil */
- + 2; /* account for leading sign or alternate form */
+ + 1; /* turn floor into ceil */
else
# endif
if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
@@ -398,15 +402,17 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
(unsigned int) (sizeof (unsigned long) * CHAR_BIT
* 0.25 /* binary -> hexadecimal */
)
- + 1 /* turn floor into ceil */
- + 2; /* account for leading sign or alternate form */
+ + 1; /* turn floor into ceil */
else
tmp_length =
(unsigned int) (sizeof (unsigned int) * CHAR_BIT
* 0.25 /* binary -> hexadecimal */
)
- + 1 /* turn floor into ceil */
- + 2; /* account for leading sign or alternate form */
+ + 1; /* turn floor into ceil */
+ if (tmp_length < precision)
+ tmp_length = precision;
+ /* Add 2, to account for a leading sign or alternate form. */
+ tmp_length = xsum (tmp_length, 2);
break;
case 'f': case 'F':
@@ -864,8 +870,19 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar
free (buf_malloced);
CLEANUP ();
*lengthp = length;
+ if (length > INT_MAX)
+ goto length_overflow;
return result;
+ length_overflow:
+ /* We could produce such a big string, but its length doesn't fit into
+ an 'int'. POSIX says that snprintf() fails with errno = EOVERFLOW in
+ this case. */
+ if (result != resultbuf)
+ free (result);
+ errno = EOVERFLOW;
+ return NULL;
+
out_of_memory:
if (!(result == resultbuf || result == NULL))
free (result);
diff --git a/intl/vasnprintf.h b/intl/vasnprintf.h
index 65f1bc13d..e67b88da3 100644
--- a/intl/vasnprintf.h
+++ b/intl/vasnprintf.h
@@ -1,5 +1,5 @@
/* vsprintf with automatic memory allocation.
- Copyright (C) 2002-2003 Free Software Foundation, Inc.
+ Copyright (C) 2002-2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _VASNPRINTF_H
@@ -48,7 +48,24 @@ extern "C" {
If successful, return the address of the string (this may be = RESULTBUF
if no dynamic memory allocation was necessary) and set *LENGTHP to the
number of resulting bytes, excluding the trailing NUL. Upon error, set
- errno and return NULL. */
+ errno and return NULL.
+
+ When dynamic memory allocation occurs, the preallocated buffer is left
+ alone (with possibly modified contents). This makes it possible to use
+ a statically allocated or stack-allocated buffer, like this:
+
+ char buf[100];
+ size_t len = sizeof (buf);
+ char *output = vasnprintf (buf, &len, format, args);
+ if (output == NULL)
+ ... error handling ...;
+ else
+ {
+ ... use the output string ...;
+ if (output != buf)
+ free (output);
+ }
+ */
extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
diff --git a/intl/vasnwprintf.h b/intl/vasnwprintf.h
index d3cef4cbc..6ff03ce16 100644
--- a/intl/vasnwprintf.h
+++ b/intl/vasnwprintf.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _VASNWPRINTF_H
diff --git a/intl/wprintf-parse.h b/intl/wprintf-parse.h
index 24a2cfc28..600b89adc 100644
--- a/intl/wprintf-parse.h
+++ b/intl/wprintf-parse.h
@@ -13,7 +13,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _WPRINTF_PARSE_H
diff --git a/intl/xsize.h b/intl/xsize.h
index 362e24b72..b3023a7d4 100644
--- a/intl/xsize.h
+++ b/intl/xsize.h
@@ -14,7 +14,7 @@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _XSIZE_H
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index bd62698c2..60ccb9544 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,3 +1,7 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
+
2006-11-05 David Shaw <dshaw@jabberwocky.com>
* gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
diff --git a/keyserver/curl-shim.c b/keyserver/curl-shim.c
index 763c0ef24..406e26ee0 100644
--- a/keyserver/curl-shim.c
+++ b/keyserver/curl-shim.c
@@ -217,7 +217,9 @@ curl_easy_perform(CURL *curl)
err = CURLE_HTTP_RETURNED_ERROR;
else
{
- unsigned int maxlen = 1024, buflen, len;
+ size_t maxlen = 1024;
+ size_t buflen;
+ unsigned int len;
char *line = NULL;
while ((len = es_read_line (http_get_read_ptr (curl->hd),
diff --git a/m4/ChangeLog b/m4/ChangeLog
index 20bb2c81f..bd779a990 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * gnupg-pth.m4 (GNUPG_PTH_VERSION_CHECK): Use --all with
+ pth-config.
+
2006-11-17 Werner Koch <wk@g10code.com>
* gnupg-pth.m4: Make sure that have_w32_system is set to no by
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 339e92fb1..554e3256f 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,4 +1,4 @@
-EXTRA_DIST = intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
+EXTRA_DIST = glibc2.m4 inttypes-h.m4 lock.m4 visibility.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
EXTRA_DIST += ldap.m4 libcurl.m4 libusb.m4 tar-ustar.m4 readline.m4
diff --git a/m4/codeset.m4 b/m4/codeset.m4
index 59535ebcf..a6e67ec49 100644
--- a/m4/codeset.m4
+++ b/m4/codeset.m4
@@ -1,10 +1,8 @@
# codeset.m4 serial AM1 (gettext-0.10.40)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
diff --git a/m4/gettext.m4 b/m4/gettext.m4
index a374f03fa..dae3d81e7 100644
--- a/m4/gettext.m4
+++ b/m4/gettext.m4
@@ -1,10 +1,8 @@
-# gettext.m4 serial 28 (gettext-0.13)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# gettext.m4 serial 53 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -17,7 +15,7 @@ dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2005.
dnl Macro to add for using GNU gettext.
@@ -65,8 +63,8 @@ AC_DEFUN([AM_GNU_GETTEXT],
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])])
- define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
- define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
+ define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
AC_REQUIRE([AM_PO_SUBDIRS])dnl
ifelse(gt_included_intl, yes, [
@@ -92,8 +90,11 @@ AC_DEFUN([AM_GNU_GETTEXT],
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
])
+ dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
+
dnl Set USE_NLS.
- AM_NLS
+ AC_REQUIRE([AM_NLS])
ifelse(gt_included_intl, yes, [
BUILD_INCLUDED_LIBINTL=no
@@ -129,16 +130,14 @@ AC_DEFUN([AM_GNU_GETTEXT],
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
-changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+]], [])[extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
@@ -161,20 +160,18 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
-changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+]], [])[extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();],
+const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
dnl Now see whether libintl exists and depends on libiconv.
@@ -182,20 +179,18 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+[[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
-changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+]], [])[extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();],
+const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
[LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes
@@ -233,11 +228,12 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl Mark actions used to generate GNU NLS library.
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
fi
+ CATOBJEXT=
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions to use GNU gettext tools.
@@ -245,6 +241,15 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
fi
])
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
AC_DEFINE(ENABLE_NLS, 1,
@@ -320,6 +325,7 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
AC_SUBST(GENCAT)
dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
if test "$USE_INCLUDED_LIBINTL" = yes; then
INTLOBJS="\$(GETTOBJS)"
fi
@@ -347,44 +353,31 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([gt_GLIBC2])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([gl_VISIBILITY])dnl
+ AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
AC_REQUIRE([bh_C_SIGNED])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
+ AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
AC_REQUIRE([gt_TYPE_WINT_T])dnl
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gt_TYPE_INTMAX_T])
AC_REQUIRE([gt_PRINTF_POSIX])
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
- AC_REQUIRE([jm_GLIBC21])dnl
- AC_REQUIRE([gt_INTDIV0])dnl
- AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
- AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
- AC_REQUIRE([gt_INTTYPES_PRI])dnl
+ AC_REQUIRE([gl_GLIBC21])dnl
AC_REQUIRE([gl_XSIZE])dnl
+ AC_REQUIRE([gt_INTL_MACOSX])dnl
AC_CHECK_TYPE([ptrdiff_t], ,
[AC_DEFINE([ptrdiff_t], [long],
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
])
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
- AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
-mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
-strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
-__fsetlocking])
+ AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
+ AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
@@ -396,8 +389,6 @@ __fsetlocking])
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
case $gt_cv_func_printf_posix in
@@ -424,10 +415,125 @@ __fsetlocking])
fi
AC_SUBST([HAVE_WPRINTF])
- AM_ICONV
AM_LANGINFO_CODESET
- if test $ac_cv_header_locale_h = yes; then
- AM_LC_MESSAGES
+ gt_LC_MESSAGES
+
+ dnl Compilation on mingw and Cygwin needs special Makefile rules, because
+ dnl 1. when we install a shared library, we must arrange to export
+ dnl auxiliary pointer variables for every exported variable,
+ dnl 2. when we install a shared library and a static library simultaneously,
+ dnl the include file specifies __declspec(dllimport) and therefore we
+ dnl must arrange to define the auxiliary pointer variables for the
+ dnl exported variables _also_ in the static library.
+ if test "$enable_shared" = yes; then
+ case "$host_os" in
+ cygwin*) is_woe32dll=yes ;;
+ *) is_woe32dll=no ;;
+ esac
+ else
+ is_woe32dll=no
+ fi
+ WOE32DLL=$is_woe32dll
+ AC_SUBST([WOE32DLL])
+
+ dnl Rename some macros and functions used for locking.
+ AH_BOTTOM([
+#define __libc_lock_t gl_lock_t
+#define __libc_lock_define gl_lock_define
+#define __libc_lock_define_initialized gl_lock_define_initialized
+#define __libc_lock_init gl_lock_init
+#define __libc_lock_lock gl_lock_lock
+#define __libc_lock_unlock gl_lock_unlock
+#define __libc_lock_recursive_t gl_recursive_lock_t
+#define __libc_lock_define_recursive gl_recursive_lock_define
+#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
+#define __libc_lock_init_recursive gl_recursive_lock_init
+#define __libc_lock_lock_recursive gl_recursive_lock_lock
+#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
+#define glthread_in_use libintl_thread_in_use
+#define glthread_lock_init libintl_lock_init
+#define glthread_lock_lock libintl_lock_lock
+#define glthread_lock_unlock libintl_lock_unlock
+#define glthread_lock_destroy libintl_lock_destroy
+#define glthread_rwlock_init libintl_rwlock_init
+#define glthread_rwlock_rdlock libintl_rwlock_rdlock
+#define glthread_rwlock_wrlock libintl_rwlock_wrlock
+#define glthread_rwlock_unlock libintl_rwlock_unlock
+#define glthread_rwlock_destroy libintl_rwlock_destroy
+#define glthread_recursive_lock_init libintl_recursive_lock_init
+#define glthread_recursive_lock_lock libintl_recursive_lock_lock
+#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
+#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
+#define glthread_once libintl_once
+#define glthread_once_call libintl_once_call
+#define glthread_once_singlethreaded libintl_once_singlethreaded
+])
+])
+
+
+dnl Checks for the core files of the intl subdirectory:
+dnl dcigettext.c
+dnl eval-plural.h
+dnl explodename.c
+dnl finddomain.c
+dnl gettextP.h
+dnl gmo.h
+dnl hash-string.h hash-string.c
+dnl l10nflist.c
+dnl libgnuintl.h.in (except the *printf stuff)
+dnl loadinfo.h
+dnl loadmsgcat.c
+dnl localealias.c
+dnl log.c
+dnl plural-exp.h plural-exp.c
+dnl plural.y
+dnl Used by libglocale.
+AC_DEFUN([gt_INTL_SUBDIR_CORE],
+[
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([gt_INTDIV0])dnl
+ AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
+ AC_REQUIRE([gl_HEADER_INTTYPES_H])dnl
+ AC_REQUIRE([gt_INTTYPES_PRI])dnl
+ AC_REQUIRE([gl_LOCK])dnl
+
+ AC_TRY_LINK(
+ [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
+ [],
+ [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
+ [Define to 1 if the compiler understands __builtin_expect.])])
+
+ AC_CHECK_HEADERS([argz.h limits.h unistd.h sys/param.h])
+ AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
+ stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
+ argz_next __fsetlocking])
+
+ dnl Use the *_unlocked functions only if they are declared.
+ dnl (because some of them were defined without being declared in Solaris
+ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
+ dnl on Solaris 2.5.1 to run on Solaris 2.6).
+ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
+ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
+ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+
+ AM_ICONV
+
+ dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
+ dnl and a _NL_LOCALE_NAME macro always.
+ AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
+ [AC_TRY_LINK([#include <langinfo.h>
+#include <locale.h>],
+ [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
+ gt_cv_nl_locale_name=yes,
+ gt_cv_nl_locale_name=no)
+ ])
+ if test $gt_cv_nl_locale_name = yes; then
+ AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
+ [Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
fi
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
@@ -463,6 +569,44 @@ changequote([,])dnl
])
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ dnl Check for API introduced in MacOS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ gt_cv_func_CFPreferencesCopyAppValue,
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+ [CFPreferencesCopyAppValue(NULL, NULL)],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+ [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in MacOS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+ [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
dnl gt_CHECK_DECL(FUNC, INCLUDES)
dnl Check whether a function is declared.
AC_DEFUN([gt_CHECK_DECL],
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4
index 9c9f3db30..d95fd9861 100644
--- a/m4/glibc21.m4
+++ b/m4/glibc21.m4
@@ -1,15 +1,13 @@
-# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# glibc21.m4 serial 3
+dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
# Test for the GNU C Library, version 2.1 or newer.
# From Bruno Haible.
-AC_DEFUN([jm_GLIBC21],
+AC_DEFUN([gl_GLIBC21],
[
AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
ac_cv_gnu_library_2_1,
diff --git a/m4/gnupg-pth.m4 b/m4/gnupg-pth.m4
index 4afdcc402..759ba8038 100644
--- a/m4/gnupg-pth.m4
+++ b/m4/gnupg-pth.m4
@@ -53,7 +53,7 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK],
_gnupg_pth_save_libs=$LIBS
CFLAGS="$CFLAGS `$PTH_CONFIG --cflags`"
LDFLAGS="$LDFLAGS `$PTH_CONFIG --ldflags`"
- LIBS="$LIBS `$PTH_CONFIG --libs`"
+ LIBS="$LIBS `$PTH_CONFIG --libs --all`"
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pth.h>
],
[[ pth_init ();]])],
diff --git a/m4/iconv.m4 b/m4/iconv.m4
index c5f357982..654c41589 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,10 +1,8 @@
# iconv.m4 serial AM4 (gettext-0.11.3)
dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4
index 55dddcf1c..b8d78176a 100644
--- a/m4/intdiv0.m4
+++ b/m4/intdiv0.m4
@@ -1,10 +1,8 @@
# intdiv0.m4 serial 1 (gettext-0.11.3)
dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
diff --git a/m4/intmax.m4 b/m4/intmax.m4
index dfb08ccc9..d99c999fd 100644
--- a/m4/intmax.m4
+++ b/m4/intmax.m4
@@ -1,10 +1,8 @@
-# intmax.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# intmax.m4 serial 2 (gettext-0.14.2)
+dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Test whether the system has the 'intmax_t' type, but don't attempt to
@@ -12,11 +10,11 @@ dnl find a replacement if it is lacking.
AC_DEFUN([gt_TYPE_INTMAX_T],
[
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
[AC_TRY_COMPILE([
-#include <stddef.h>
+#include <stddef.h>
#include <stdlib.h>
#if HAVE_STDINT_H_WITH_UINTMAX
#include <stdint.h>
diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4
index fd007c312..ef00da742 100644
--- a/m4/inttypes-pri.m4
+++ b/m4/inttypes-pri.m4
@@ -1,10 +1,8 @@
-# inttypes-pri.m4 serial 1 (gettext-0.11.4)
-dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# inttypes-pri.m4 serial 2 (gettext-0.15)
+dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
@@ -13,8 +11,8 @@ dnl From Bruno Haible.
AC_DEFUN([gt_INTTYPES_PRI],
[
- AC_REQUIRE([gt_HEADER_INTTYPES_H])
- if test $gt_cv_header_inttypes_h = yes; then
+ AC_REQUIRE([gl_HEADER_INTTYPES_H])
+ if test $gl_cv_header_inttypes_h = yes; then
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
gt_cv_inttypes_pri_broken,
[
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4
index f342eba39..a5d075d96 100644
--- a/m4/inttypes_h.m4
+++ b/m4/inttypes_h.m4
@@ -1,26 +1,24 @@
-# inttypes_h.m4 serial 5 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# inttypes_h.m4 serial 6
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
-AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
+AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
[
- AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
+ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
[uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_inttypes_h=yes,
- jm_ac_cv_header_inttypes_h=no)])
- if test $jm_ac_cv_header_inttypes_h = yes; then
+ gl_cv_header_inttypes_h=yes,
+ gl_cv_header_inttypes_h=no)])
+ if test $gl_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4
index ffd4008b8..19aa77e4f 100644
--- a/m4/lcmessage.m4
+++ b/m4/lcmessage.m4
@@ -1,10 +1,8 @@
-# lcmessage.m4 serial 3 (gettext-0.11.3)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# lcmessage.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -20,12 +18,12 @@ dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
# Check whether LC_MESSAGES is available in <locale.h>.
-AC_DEFUN([AM_LC_MESSAGES],
+AC_DEFUN([gt_LC_MESSAGES],
[
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES,
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
+ gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)])
+ if test $gt_cv_val_LC_MESSAGES = yes; then
AC_DEFINE(HAVE_LC_MESSAGES, 1,
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index 38aeaec19..96c4e2c33 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,10 +1,8 @@
# lib-ld.m4 serial 3 (gettext-0.13)
dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl Subroutines of libtool.m4,
dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index eeb200d26..92929193f 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,13 +1,13 @@
-# lib-link.m4 serial 4 (gettext-0.12)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# lib-link.m4 serial 8 (gettext-0.15)
+dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
+AC_PREREQ(2.50)
+
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
@@ -95,6 +95,8 @@ dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
dnl hardcode_direct, hardcode_minus_L.
AC_DEFUN([AC_LIB_RPATH],
[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
@@ -124,6 +126,7 @@ dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
dnl By default, look in $includedir and $libdir.
@@ -146,7 +149,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
])
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
fi
fi
])
@@ -246,7 +249,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
@@ -332,8 +335,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Assume the include files are nearby.
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
additional_includedir="$basedir/include"
;;
esac
@@ -350,7 +353,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -394,12 +397,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl 3. if it's already present in $LDFLAGS or the already
dnl constructed $LIBNAME,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -549,3 +552,79 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
fi
done
])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index 8aff5a9d2..a8684e17e 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,10 +1,8 @@
-# lib-prefix.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# lib-prefix.m4 serial 5 (gettext-0.15)
+dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
@@ -26,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
dnl By default, look in $includedir and $libdir.
use_additional=yes
@@ -47,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
])
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
fi
fi
])
@@ -71,7 +70,7 @@ AC_DEFUN([AC_LIB_PREFIX],
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -89,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
dnl 2. if it's already present in $LDFLAGS,
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
haveit=
for x in $LDFLAGS; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
@@ -99,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
fi
done
if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
@@ -153,3 +152,34 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
exec_prefix="$acl_save_exec_prefix"
prefix="$acl_save_prefix"
])
+
+dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
+dnl the basename of the libdir, either "lib" or "lib64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64. The current
+ dnl practice is that on a system supporting 32-bit and 64-bit instruction
+ dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
+ dnl libraries go under $prefix/lib. We determine the compiler's default
+ dnl mode by looking at the compiler's library search path. If at least
+ dnl of its elements ends in /lib64 or points to a directory whose absolute
+ dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+ dnl default, namely "lib".
+ acl_libdirstem=lib
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+])
diff --git a/m4/longdouble.m4 b/m4/longdouble.m4
index 1333d2f57..25590f470 100644
--- a/m4/longdouble.m4
+++ b/m4/longdouble.m4
@@ -1,15 +1,16 @@
-# longdouble.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# longdouble.m4 serial 2 (gettext-0.15)
+dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Test whether the compiler supports the 'long double' type.
dnl Prerequisite: AC_PROG_CC
+dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf
+dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics.
+
AC_DEFUN([gt_TYPE_LONGDOUBLE],
[
AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
diff --git a/m4/longlong.m4 b/m4/longlong.m4
index d7d7350b3..7b399e012 100644
--- a/m4/longlong.m4
+++ b/m4/longlong.m4
@@ -1,16 +1,14 @@
-# longlong.m4 serial 4
-dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# longlong.m4 serial 5
+dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
# Define HAVE_LONG_LONG if 'long long' works.
-AC_DEFUN([jm_AC_TYPE_LONG_LONG],
+AC_DEFUN([gl_AC_TYPE_LONG_LONG],
[
AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
[AC_TRY_LINK([long long ll = 1LL; int i = 63;],
diff --git a/m4/nls.m4 b/m4/nls.m4
index 36bc49317..7967cc2f9 100644
--- a/m4/nls.m4
+++ b/m4/nls.m4
@@ -1,10 +1,8 @@
-# nls.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -19,6 +17,8 @@ dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+AC_PREREQ(2.50)
+
AC_DEFUN([AM_NLS],
[
AC_MSG_CHECKING([whether NLS is requested])
@@ -29,21 +29,3 @@ AC_DEFUN([AM_NLS],
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
])
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
- dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
- dnl Try to locate it.
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
- AC_SUBST(MKINSTALLDIRS)
-])
diff --git a/m4/po.m4 b/m4/po.m4
index e16199881..00133ef36 100644
--- a/m4/po.m4
+++ b/m4/po.m4
@@ -1,10 +1,8 @@
-# po.m4 serial 3 (gettext-0.14)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# po.m4 serial 13 (gettext-0.15)
+dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -19,12 +17,14 @@ dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+AC_PREREQ(2.50)
+
dnl Checks for all prerequisites of the po subdirectory.
AC_DEFUN([AM_PO_SUBDIRS],
[
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
AC_REQUIRE([AM_NLS])dnl
dnl Perform the following tests also if --disable-nls has been given,
@@ -34,59 +34,57 @@ AC_DEFUN([AM_PO_SUBDIRS],
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
dnl The second test excludes FreeBSD msgfmt.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
dnl Search for GNU xgettext 0.12 or newer in the PATH.
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
dnl The second test excludes FreeBSD xgettext.
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
dnl Remove leftover from FreeBSD xgettext call.
rm -f messages.po
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU msgfmt.
- if test "$GMSGFMT" != ":"; then
- dnl If it is no GNU msgfmt we define it as : so that the
- dnl Makefiles still can work.
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- AC_MSG_RESULT(
- [found $GMSGFMT program is not GNU msgfmt; ignore it])
- GMSGFMT=":"
- fi
- fi
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext program is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
- fi
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
- AC_OUTPUT_COMMANDS([
+ AC_CONFIG_COMMANDS([po-directories], [[
for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in
@@ -106,6 +104,9 @@ AC_DEFUN([AM_PO_SUBDIRS],
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
@@ -119,12 +120,13 @@ AC_DEFUN([AM_PO_SUBDIRS],
if test -n "$OBSOLETE_ALL_LINGUAS"; then
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
fi
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
@@ -194,10 +196,10 @@ AC_DEFUN([AM_PO_SUBDIRS],
fi
;;
esac
- done],
+ done]],
[# Capture the value of obsolete ALL_LINGUAS because we need it to compute
# POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
+ # from automake < 1.5.
eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
# Capture the value of LINGUAS because we need it to compute CATALOGS.
LINGUAS="${LINGUAS-%UNSET%}"
@@ -283,7 +285,7 @@ x
changequote([,])dnl
# Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
# Compute POTFILES_DEPS as
# $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
@@ -298,14 +300,14 @@ changequote([,])dnl
fi
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
# The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
fi
- # Hide the ALL_LINGUAS assigment from automake.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
# Compute POFILES
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
@@ -348,7 +350,7 @@ changequote([,])dnl
QMFILES="$QMFILES $srcdirpre$lang.qm"
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
done
# CATALOGS depends on both $ac_dir and the user's LINGUAS
@@ -389,7 +391,7 @@ changequote([,])dnl
QTCATALOGS="$QTCATALOGS $lang.qm"
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
done
fi
@@ -409,7 +411,7 @@ EOF
if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
# Add dependencies that cannot be formulated as a simple suffix rule.
for lang in $ALL_LINGUAS; do
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
cat >> "$ac_file.tmp" <<EOF
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
diff --git a/m4/printf-posix.m4 b/m4/printf-posix.m4
index 186ba6a6d..af10170af 100644
--- a/m4/printf-posix.m4
+++ b/m4/printf-posix.m4
@@ -1,10 +1,8 @@
# printf-posix.m4 serial 2 (gettext-0.13.1)
dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Test whether the printf() function supports POSIX/XSI format strings with
diff --git a/m4/progtest.m4 b/m4/progtest.m4
index 8fe527cec..a56365cd3 100644
--- a/m4/progtest.m4
+++ b/m4/progtest.m4
@@ -1,10 +1,8 @@
-# progtest.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -18,6 +16,8 @@ dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+AC_PREREQ(2.50)
+
# Search path for a program which passes the given test.
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
@@ -67,6 +67,7 @@ AC_CACHE_VAL(ac_cv_path_$1,
test -z "$ac_dir" && ac_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
if [$3]; then
ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
break 2
diff --git a/m4/signed.m4 b/m4/signed.m4
index dc1f54f10..048f59369 100644
--- a/m4/signed.m4
+++ b/m4/signed.m4
@@ -1,10 +1,8 @@
# signed.m4 serial 1 (gettext-0.10.40)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
diff --git a/m4/size_max.m4 b/m4/size_max.m4
index 5762fc333..029e47195 100644
--- a/m4/size_max.m4
+++ b/m4/size_max.m4
@@ -1,10 +1,8 @@
-# size_max.m4 serial 2
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# size_max.m4 serial 4
+dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
@@ -25,32 +23,33 @@ Found it
], result=yes)
if test -z "$result"; then
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
- dnl than the type 'unsigned long'.
- dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
- dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
- _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
- [#include <stddef.h>], result=?)
- _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
- [#include <stddef.h>], result=?)
+ dnl than the type 'unsigned long'. Try hard to find a definition that can
+ dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
+ _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1,
+ [#include <stddef.h>
+#include <limits.h>], size_t_bits_minus_1=)
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
- [#include <stddef.h>], result=?)
- if test "$fits_in_uint" = 1; then
- dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
- dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], fits_in_uint=0)
- fi
- if test -z "$result"; then
- if test "$fits_in_uint" = 1; then
- result="$res_hi$res_lo"U
+ [#include <stddef.h>], fits_in_uint=)
+ if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
+ if test $fits_in_uint = 1; then
+ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
+ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
+ AC_TRY_COMPILE([#include <stddef.h>
+ extern size_t foo;
+ extern unsigned long foo;
+ ], [], fits_in_uint=0)
+ fi
+ dnl We cannot use 'expr' to simplify this expression, because 'expr'
+ dnl works only with 'long' integers in the host environment, while we
+ dnl might be cross-compiling from a 32-bit platform to a 64-bit platform.
+ if test $fits_in_uint = 1; then
+ result="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
else
- result="$res_hi$res_lo"UL
+ result="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
fi
else
dnl Shouldn't happen, but who knows...
- result='~(size_t)0'
+ result='((size_t)~(size_t)0)'
fi
fi
AC_MSG_RESULT([$result])
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4
index 32ba7ae77..3355f35aa 100644
--- a/m4/stdint_h.m4
+++ b/m4/stdint_h.m4
@@ -1,26 +1,24 @@
-# stdint_h.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# stdint_h.m4 serial 5
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
-AC_DEFUN([jm_AC_HEADER_STDINT_H],
+AC_DEFUN([gl_AC_HEADER_STDINT_H],
[
- AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
+ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <stdint.h>],
[uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_stdint_h=yes,
- jm_ac_cv_header_stdint_h=no)])
- if test $jm_ac_cv_header_stdint_h = yes; then
+ gl_cv_header_stdint_h=yes,
+ gl_cv_header_stdint_h=no)])
+ if test $gl_cv_header_stdint_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
diff --git a/m4/uintmax_t.m4 b/m4/uintmax_t.m4
index b5f28d440..bf83ed746 100644
--- a/m4/uintmax_t.m4
+++ b/m4/uintmax_t.m4
@@ -1,10 +1,8 @@
-# uintmax_t.m4 serial 7 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# uintmax_t.m4 serial 9
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
@@ -13,12 +11,12 @@ AC_PREREQ(2.13)
# Define uintmax_t to 'unsigned long' or 'unsigned long long'
# if it is not already defined in <stdint.h> or <inttypes.h>.
-AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
+AC_DEFUN([gl_AC_TYPE_UINTMAX_T],
[
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
- AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
+ AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG])
test $ac_cv_type_unsigned_long_long = yes \
&& ac_type='unsigned long long' \
|| ac_type='unsigned long'
diff --git a/m4/ulonglong.m4 b/m4/ulonglong.m4
index 1da8b809e..dee10ccc3 100644
--- a/m4/ulonglong.m4
+++ b/m4/ulonglong.m4
@@ -1,16 +1,14 @@
-# ulonglong.m4 serial 3
-dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# ulonglong.m4 serial 4
+dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
-AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
+AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
[
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
[AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4
index d8fd1ec5c..cde2129a9 100644
--- a/m4/wchar_t.m4
+++ b/m4/wchar_t.m4
@@ -1,10 +1,8 @@
# wchar_t.m4 serial 1 (gettext-0.12)
dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Test whether <stddef.h> has the 'wchar_t' type.
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
index 3d8d21594..b8fff9c86 100644
--- a/m4/wint_t.m4
+++ b/m4/wint_t.m4
@@ -1,10 +1,8 @@
# wint_t.m4 serial 1 (gettext-0.12)
dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
dnl Test whether <wchar.h> has the 'wint_t' type.
diff --git a/m4/xsize.m4 b/m4/xsize.m4
index 9b7cf9b49..85bb721e4 100644
--- a/m4/xsize.m4
+++ b/m4/xsize.m4
@@ -1,14 +1,13 @@
-# xsize.m4 serial 2
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# xsize.m4 serial 3
+dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_XSIZE],
[
dnl Prerequisites of lib/xsize.h.
AC_REQUIRE([gl_SIZE_MAX])
+ AC_REQUIRE([AC_C_INLINE])
AC_CHECK_HEADERS(stdint.h)
])
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 53efc5e16..2ed49e62d 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -1,5 +1,5 @@
# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
@@ -8,10 +8,11 @@
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
#
-# Origin: gettext-0.14
+# Origin: gettext-0.15
PACKAGE = @PACKAGE@
VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
SHELL = /bin/sh
@SET_MAKE@
@@ -22,18 +23,28 @@ VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
datadir = @datadir@
-localedir = $(datadir)/locale
+localedir = @localedir@
gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
+mkinstalldirs = $(SHELL) @install_sh@ -d
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
MSGMERGE = msgmerge
MSGMERGE_UPDATE = @MSGMERGE@ --update
MSGINIT = msginit
@@ -46,7 +57,7 @@ UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
$(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
@@ -79,6 +90,12 @@ all: all-@USE_NLS@
all-yes: stamp-po
all-no:
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
# been loosely updated. Its purpose is that when a developer or translator
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
@@ -88,10 +105,13 @@ all-no:
# $(POFILES) has been designed to not touch files that don't need to be
# changed.
stamp-po: $(srcdir)/$(DOMAIN).pot
- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
- @echo "touch stamp-po"
- @echo timestamp > stamp-poT
- @mv stamp-poT stamp-po
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
# otherwise packages like GCC can not be built if only parts of the source
@@ -100,11 +120,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
--files-from=$(srcdir)/POTFILES.in \
--copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
+ --msgid-bugs-address="$$msgid_bugs_address"
test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -143,7 +168,7 @@ install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
for file in $(DISTFILES.common) Makevars.template; do \
$(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
@@ -156,13 +181,13 @@ install-data: install-data-@USE_NLS@
fi
install-data-no: all
install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
+ $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
@@ -202,19 +227,19 @@ installdirs: installdirs-exec installdirs-data
installdirs-exec:
installdirs-data: installdirs-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
else \
: ; \
fi
installdirs-data-no:
installdirs-data-yes:
- $(mkinstalldirs) $(DESTDIR)$(datadir)
+ $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
if test -n "$$lc"; then \
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
@@ -289,11 +314,14 @@ dist distdir:
$(MAKE) update-po
@$(MAKE) dist2
# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
+dist2: stamp-po $(DISTFILES)
dists="$(DISTFILES)"; \
if test "$(PACKAGE)" = "gettext-tools"; then \
dists="$$dists Makevars.template"; \
fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
if test -f $(srcdir)/ChangeLog; then \
dists="$$dists ChangeLog"; \
fi; \
@@ -305,9 +333,9 @@ dist2: $(DISTFILES)
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
for file in $$dists; do \
if test -f $$file; then \
- cp -p $$file $(distdir); \
+ cp -p $$file $(distdir) || exit 1; \
else \
- cp -p $(srcdir)/$$file $(distdir); \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
fi; \
done
@@ -354,10 +382,9 @@ $(DUMMYPOFILES):
update-gmo: Makefile $(GMOFILES)
@:
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
+ && $(SHELL) ./config.status $(subdir)/$@.in po-directories
force:
diff --git a/po/be.po b/po/be.po
index 78bb0550f..4b9cb8bbe 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -133,7 +133,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
@@ -283,160 +283,154 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Выкарыстаньне: gpg [выбары] [файлы] (-h для даведкі)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr ""
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr ""
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr ""
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "памылка стварэньня \"%s\": %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, fuzzy, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: немагчыма стварыць тэчку: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "%s: немагчыма стварыць тэчку: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "памылка стварэньня \"%s\": %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "збой падпісаньня: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "запіс у stdout\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: тэчка створана\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "немагчыма адкрыць %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: немагчыма стварыць тэчку: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr ""
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, c-format
msgid "%s %s stopped\n"
msgstr ""
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr ""
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr ""
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4136,7 +4130,7 @@ msgstr "збой падпісаньня: %s\n"
msgid "Signature expires at %s\n"
msgstr "Подпіс створаны ў %.*s з выкарыстаньнем %s ID ключа %08lX\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4348,7 +4342,7 @@ msgstr "%s: немагчыма стварыць тэчку: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ""
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5355,26 +5349,26 @@ msgstr ""
msgid "okay, we are the anonymous recipient.\n"
msgstr ""
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr ""
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr ""
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr ""
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr ""
@@ -5533,12 +5527,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6050,7 +6044,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr ""
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr ""
@@ -6083,10 +6077,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Калі ласка, паведамляйце пра памылкі на <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-msgid ".\n"
-msgstr ""
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6117,47 +6107,52 @@ msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
msgid "reading public key failed: %s\n"
msgstr "грамадскі ключ ня знойдзены"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "збой падпісаньня: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6165,112 +6160,112 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "памылка стварэньня \"%s\": %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr ""
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "паказаць ключы й адбіткі пальцаў"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "выдаліць ключы са зьвязку сакрэтных ключоў"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "стварыць новую пару ключоў"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "%s: немагчыма стварыць хэш-табліцу: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "стварыць новую пару ключоў"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr ""
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr ""
@@ -6321,16 +6316,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6501,35 +6496,35 @@ msgstr "DSA патрабуе выкарыстаньня 160-і бітавага
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no [не]"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "невядомая вэрсыя"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "паказаць ключы й адбіткі пальцаў"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "паказаць ключы й адбіткі пальцаў"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7027,12 +7022,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "нерэчаісны хэш-альгарытм \"%s\"\n"
-#: sm/verify.c:507
+#: sm/verify.c:510
msgid " aka"
msgstr ""
diff --git a/po/ca.po b/po/ca.po
index 8de7688c7..9359cacda 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -155,7 +155,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
@@ -312,161 +312,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, 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:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, 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:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "fitxer d'opcions «%s»: %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "s'estan llegint opcions de «%s»\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "error en crear «%s»: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "no es pot crear el directori «%s»: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "no s'ha pogut crear «%s»: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "error mentre s'enviava a «%s»: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "ha fallat l'actualització: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "s'està escrivint la clau secreta a «%s»\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: s'ha creat el directori\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, 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:1342
+#: agent/gpg-agent.c:1373
#, 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:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, 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:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu claus es descarta\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent no està disponible en aquesta sessió\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "la variable d'entorn GPG_AGENT_INFO és malformada\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4516,7 +4510,7 @@ msgstr "Aquesta signatura caduca el %s\n"
# Amb «it» es refereix a les dates? ivb
# Això vaig entendre jo. jm
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4766,7 +4760,7 @@ msgstr "no s'ha pogut crear «%s»: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ""
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "mai "
@@ -5843,26 +5837,26 @@ msgstr "el destinatari és anònim; es provarà la clau secreta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "d'acord, som el destinatari anònim.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "la codificació antiga del DEK no està suportada\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "l'algoritme de xifratge %d%s és desconegut o està desactivat\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTA: no s'ha trobat l'algoritme de xifratge %d en les preferències\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: la clau secreta %08lX caduca el %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTA: aquesta clau ha estat revocada!"
@@ -6036,12 +6030,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6608,7 +6602,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "la línia d'entrada %u és massa llarga o hi falta un fí de línia\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "heu trobat un bug... (%s:%d)\n"
@@ -6641,11 +6635,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Si us plau, informeu sobre els errors a <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6676,47 +6665,52 @@ msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
msgid "reading public key failed: %s\n"
msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "l'enviament al servidor de claus ha fallat: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6724,113 +6718,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "error en crear «%s»: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "error: l'empremta digital és invàlida\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "«%s» ja està comprimida\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "genera un nou parell de claus"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "La generació de claus ha fallat: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "La generació de claus ha fallat: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "signatura %s, algorisme de resum %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr ""
@@ -6883,16 +6877,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -7075,30 +7069,30 @@ msgstr "DSA requereix l'ús d'un algoritme de dispersió de 160 bits\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[no establert]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "error: l'empremta digital és invàlida\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "error: l'empremta digital és invàlida\n"
@@ -7114,7 +7108,7 @@ msgstr "error: l'empremta digital és invàlida\n"
# Se't passava l'argument «*». printf(3), hieroglyph(7). ivb
# Ah! Prova-ho, no casque alguna cosa :P ivb
# Ah, ja veig! Moltes gràcies! Aquest msgstr ha quedat curiós :) jm
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7611,12 +7605,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Signatura correcta de \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7974,6 +7968,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "l'algoritme de protecció %d%s no està suportat\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "hi ha un problema amb l'agent: es deshabilitarà el seu ús\n"
diff --git a/po/cs.po b/po/cs.po
index 3a1a0e4ad..ef902a9c1 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -133,7 +133,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: nepodailo se vytvoit hashovac tabulku: %s\n"
@@ -287,7 +287,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -296,154 +296,148 @@ msgstr ""
"Chyby oznamte, prosm, na adresu <gnupg-bugs@gnu.org>.\n"
"Pipomnky k pekladu <rp@tns.cz>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Pouit: gpg [monosti] [soubory] (-h pro pomoc)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "POZNMKA: neexistuje implicitn soubor s monostmi `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "soubor s monostmi `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "tu monosti z `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "chyba pi vytven `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "nemohu vytvoit adres `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "nemohu vytvoit `%s': %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "chyba pi hledn zznamu dvryhodnosti v `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "aktualizace selhala: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "zapisuji tajn kl do `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "adres `%s' vytvoen\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) selhal v %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "nemohu vytvoit adres `%s': %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "aktualizace tajnho kle selhala: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: peskoeno: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent nen v tomto sezen dostupn\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "patn formt promnn prosted GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4317,7 +4311,7 @@ msgstr "Platnost kle skon v %s\n"
msgid "Signature expires at %s\n"
msgstr "Platnost podpisu skon v %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4559,7 +4553,7 @@ msgstr "nemohu vytvoit zlohu souboru `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "POZNMKA: zloha kle z karty uloena do `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "nikdy "
@@ -5581,26 +5575,26 @@ msgstr "anonymn adrest; zkoum tajn kl %s ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "o.k., my jsme anonymn adrest.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "star kdovn DEK nen podporovno\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "ifrovac algoritmus %d%s je neznm nebo je zneplatnn\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "VAROVN: v pedvolbch pjemce nenalezen ifrovac algoritmus %s\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "POZNMKA: platnost tajnho kle %s skonila %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "POZNMKA: kl byl revokovn"
@@ -5768,12 +5762,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6311,7 +6305,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "vstupn dek %u je pli dlouh nebo na konci chyb znak LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "nalezena chyba v programu ... (%s:%d)\n"
@@ -6346,11 +6340,6 @@ msgstr ""
"Chyby oznamte, prosm, na adresu <gnupg-bugs@gnu.org>.\n"
"Pipomnky k pekladu <rp@tns.cz>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6381,47 +6370,52 @@ msgstr "uloen datumu vytvoen se nezdailo: %s\n"
msgid "reading public key failed: %s\n"
msgstr "ten veejnho kle se nezdailo: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "odpov neobsahuje veejn kl\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "odpov neobsahuje RSA modulus\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "odpov neobsahuje veejn RSA exponent\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "funkce PIN callback zkonila chybou: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "PIN pro CHV%d je pli krtk; minimln dlka je %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "verifikace CHV%d se nezdaila: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "pstup k administrtorskm pkazm nen nakonfigurovn\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "chyba pi zskn CHV z karty\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "karta je trvale uzamena!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6430,110 +6424,110 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|PIN administrtora"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Nov PIN administrtora"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Nov PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "chyba pi zskn novho PINu: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "chyba pi ten aplikanch dat\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "chyba pi ten fingerpritnu DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "kl ji existuje\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "existujc kl bude pepsn\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "generovn novho kle\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "chyb asov raztko vytvoen\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "schz RSA modulus nebo nem velikost %d bit\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "schz veejn RSA exponent nebo je del ne %d bit\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "schz RSA prime %s nebo nem velikost %d bit\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "nelze uloit kl: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "prosm pokejte ne bude kl vygenerovn ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "henerovn kle se nezdailo\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "generovn kle dokoneno (%d sekund)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "neplatn struktura OpenPGP kraty (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "podpis %s, hashovac algoritmus %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "dosud vytvoen podpisy: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Prosm vlote PIN%%0A[podpis hotov: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
"oven administrtorskho PIN je nyn prostednictvm tohoto pkazu "
"zakzno\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "pstup na %s se nezdail - vadn OpenPGP karta?\n"
@@ -6583,16 +6577,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6766,35 +6760,35 @@ msgstr "DSA poaduje pouit 160-ti bitovho hashovacho algoritmu\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "ne"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[nen nastaven]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Chyba: neplatn odpov.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Chyba: neplatn odpov.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7298,12 +7292,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Dobr podpis od \"%s\""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \"%s\""
@@ -7660,6 +7654,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "ochrann algoritmus %d nen podporovn\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problm s agentem - pouvn agenta vypnuto\n"
diff --git a/po/da.po b/po/da.po
index 7a2f438a1..da6930671 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -133,7 +133,7 @@ msgid ""
msgstr ""
# er det klogt at overstte TrustDB?
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "kunne ikke initialisere TillidsDB: %s\n"
@@ -288,160 +288,154 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Rapportr venligst fejl til <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Brug: gpg [flag] [filer] (-h for hjlp)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTITS: ingen standard alternativfil '%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "alternativfil`%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "lser indstillinger fra `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, fuzzy, c-format
msgid "error creating `%s': %s\n"
msgstr "fejl ved lsning af '%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, fuzzy, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: kan ikke oprette mappe: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "kan ikke oprette %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "fejl ved lsning af '%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "signering fejlede: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "skriver hemmeligt certifikat til '%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: mappe oprettet\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "kan ikke bne %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: kan ikke oprette mappe: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr ""
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: udelod: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr ""
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr ""
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, fuzzy, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4230,7 +4224,7 @@ msgstr "Ngle udlber d. %s\n"
msgid "Signature expires at %s\n"
msgstr "Denne ngle er ikke beskyttet.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4451,7 +4445,7 @@ msgstr "kan ikke oprette %s: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "hemmelige ngler import: %lu\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5491,26 +5485,26 @@ msgstr ""
msgid "okay, we are the anonymous recipient.\n"
msgstr ""
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr ""
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, fuzzy, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "valgte cifferalgoritme %d er ugyldig\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "hemmelige ngler import: %lu\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
#, fuzzy
msgid "NOTE: key has been revoked"
msgstr "ngle %08lX: ngle er blevet annulleret!\n"
@@ -5676,12 +5670,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6195,7 +6189,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr ""
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "du fandt en fejl ... (%s:%d)\n"
@@ -6228,10 +6222,6 @@ msgstr "sl fuld fejltjekning til"
msgid "Please report bugs to "
msgstr "Rapportr venligst fejl til <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-msgid ".\n"
-msgstr ""
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6263,47 +6253,52 @@ msgstr "ingen standard offentlig nglering\n"
msgid "reading public key failed: %s\n"
msgstr "fjernelse af beskyttelse fejlede: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "pkldning af beskyttelse fejlede: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6311,114 +6306,114 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "fejl ved oprettelse af kodestning: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "fejl ved lsning af '%s': %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "fejl i trailerlinie\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "fjern ngle fra den hemmelige nglering"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "generr et nyt nglepar"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
# er det klogt at overstte TrustDB?
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "kunne ikke initialisere TillidsDB: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "fjernelse af beskyttelse fejlede: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Ngleoprettelse annulleret.\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s signatur fra: %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "ingen gyldig OpenPGP data fundet.\n"
@@ -6471,16 +6466,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6655,35 +6650,35 @@ msgstr ""
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "n"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "ukendt version"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "fejl i trailerlinie\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "fejl i trailerlinie\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7180,12 +7175,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "God signatur fra \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
diff --git a/po/de.po b/po/de.po
index b97adf4c7..4338eba90 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.9.90\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
-"PO-Revision-Date: 2006-11-097 23:35+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
+"PO-Revision-Date: 2006-11-21 10:59+0100\n"
"Last-Translator: Walter Koch <koch@u32.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
@@ -134,7 +134,7 @@ msgstr ""
"Bitte geben Sie eine Passphrase ein, um den empfangenen geheimen Schlüssel%%"
"0A %s%%0A im Schlüsselspeicher des gpg-agenten zu schützen"
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "Das Erzeugen eines Datenstrom aus dem Socket schlug fehl: %s\n"
@@ -275,23 +275,17 @@ msgstr "Die ssh-agent-Emulation anschalten"
msgid "|FILE|write environment settings also to FILE"
msgstr "|DATEI|Schreibe die Umgebungsvariabeln auf DATEI"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
msgid "Please report bugs to <"
msgstr "Fehlerberichte bitte an <"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ">.\n"
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Aufruf: gpg-agent [Optionen] (-h für Hilfe)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
@@ -299,23 +293,23 @@ msgstr ""
"Syntax: gpg-agent [Optionen] [Befehl [Argumente]]\n"
"Verwaltung von geheimen Schlüsseln für GnuPG\n"
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
"Kein sicherer Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr "Kein Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr "ungültige Debugebene `%s' angegeben\n"
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
@@ -323,114 +317,114 @@ msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
"Die Bibliothek \"libgcrypt\" is zu alt (benötigt wird %s, vorhanden ist %s)\n"
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "Optionendatei '%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "Optionen werden aus '%s' gelesen\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "Fehler beim Erstellen von `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr "Der Name des Sockets ist zu lang\n"
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, c-format
msgid "can't create socket: %s\n"
msgstr "Socket kann nicht erzeugt werden: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, 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:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, c-format
msgid "listen() failed: %s\n"
msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, c-format
msgid "listening on socket `%s'\n"
msgstr "Es wird auf Socket `%s' gehört\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "Verzeichnis `%s' erzeugt\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, 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:1441
+#: agent/gpg-agent.c:1475
#, 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:1446
+#: agent/gpg-agent.c:1480
#, 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:1460
+#: agent/gpg-agent.c:1497
#, 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:1465
+#: agent/gpg-agent.c:1502
#, 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:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "pth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, c-format
msgid "%s %s stopped\n"
msgstr "%s %s angehalten\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
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:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "fehlerhaft aufgebaute GPG_AGENT_INFO - Umgebungsvariable\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4367,7 +4361,7 @@ msgstr "Key verfällt am %s\n"
msgid "Signature expires at %s\n"
msgstr "Unterschrift verfällt am %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4607,7 +4601,7 @@ msgstr "Sicherungsdatei '%s' kann nicht erzeugt werden: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "Hinweis: Sicherung des Kartenschlüssels wurde auf `%s' gespeichert\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "niemals "
@@ -5609,14 +5603,14 @@ msgid "no valid addressees\n"
msgstr "Keine gültigen Adressaten\n"
#: g10/pkclist.c:1468
-#, fuzzy, c-format
+#, c-format
msgid "Note: key %s has no %s feature\n"
-msgstr "Schlüssel %s hat keine User-IDs\n"
+msgstr "Hinweis: Schlüssel %s besitzt nicht die %s Eigenschaft\n"
#: g10/pkclist.c:1493
-#, fuzzy, c-format
+#, c-format
msgid "Note: key %s has no preference for %s\n"
-msgstr "Schlüssel %s hat keine User-IDs\n"
+msgstr "Hinweis: Schlüssel %s hat keine Einstellung für %s\n"
#: g10/plaintext.c:91
msgid "data not saved; use option \"--output\" to save it\n"
@@ -5653,28 +5647,28 @@ msgstr "Ungenannter Empfänger; Versuch mit geheimen Schlüssel %s ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "Alles klar, wir sind der ungenannte Empfänger.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "alte Kodierung des DEK wird nicht unterstützt\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "Verschüsselungsverfahren %d%s ist unbekannt oder abgeschaltet\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
"WARNUNG: Das Verschlüsselungsverfahren %s wurde nicht in den "
"Empfängereinstellungen gefunden\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "Hinweis: geheimer Schlüssel %s verfällt am %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "Hinweis: Schlüssel wurde widerrufen"
@@ -5848,12 +5842,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr "Für DSA muß die Hashlänge ein Vielfaches von 8 Bit sein\n"
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr "DSA-Schlüssel %s verwendet einen unsicheren (%u Bit-) Hash\n"
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr "DSA-Schlüssel %s benötigt einen mindestens %u Bit langen Hash\n"
@@ -6414,7 +6408,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "Eingabezeile %u ist zu lang oder es fehlt ein LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "Sie haben eine Bug (Programmfehler) gefunden ... (%s:%d)\n"
@@ -6446,10 +6440,6 @@ msgstr "Alle Debug Flags setzen"
msgid "Please report bugs to "
msgstr "Bitte richten sie Berichte über Bugs (Softwarefehler) an "
-#: kbx/kbxutil.c:108
-msgid ".\n"
-msgstr ".\n"
-
#: kbx/kbxutil.c:112
msgid "Usage: kbxutil [options] [files] (-h for help)"
msgstr "Aufruf: kbxutil [Optionen] [Dateien] (-h für Hilfe)"
@@ -6481,47 +6471,52 @@ msgstr "Das Erzeugungsdatum konnte nicht gespeichert werden: %s\n"
msgid "reading public key failed: %s\n"
msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "Die Antwort enthält keine öffentliche Schlüssel-Daten\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "Die Antwort enthält das RSA-Modulus nicht\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "Antwort enthält den öffentlichen RSA-Exponenten nicht\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr "||Bitte die PIN auf der Tastatur des Kartenleser eingeben"
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "PIN-Callback meldete Fehler: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "PIN für CHV%d ist zu kurz; die Mindestlänge beträgt %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "Prüfung des CHV%d fehlgeschlagen: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "Zugriff auf Admin-Befehle ist nicht eingerichtet\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "Fehler beim Holen des CHV-Status' von der Karte\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "Karte ist dauerhaft gesperrt!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
@@ -6529,110 +6524,110 @@ msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Admin-PIN"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Neue Admin-PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Neue PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "Fehler beim Abfragen einer neuen PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "Fehler beim Lesen der Anwendungsdaten\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "Fehler beim Lesen des Fingerabdrucks DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "Schlüssel existiert bereits\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "Existierender Schlüssel wird ersetzt werden\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "neue Schlüssel werden erzeugt\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "Erzeugungsdatum fehlt\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "Der RSA Modulus fehlt oder ist nicht %d Bits lang\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "der öffentliche Exponent fehlt oder ist zu groß (mehr als %d Bit)\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "Die RSA Primzahl %s fehlt oder ist nicht %d Bits lang\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "Speichern des Schlüssels fehlgeschlagen: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "Bitte warten, der Schlüssel wird erzeugt ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "Schlüsselerzeugung fehlgeschlagen\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Schlüsselerzeugung abgeschlossen (%d Sekunden)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "Ungültige Struktur der OpenPGP-Karte (DO 0x93)}\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "Die Hashmethode %s wird von der Karte nicht unterstützt\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "Anzahl bereits erzeugter Signaturen: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Bitte die PIN eingeben%%0A[Sigs erzeugt: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
"Die Überprüfung der Admin PIN is momentan durch einen Befehl verboten "
"worden\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "Kann auf %s nicht zugreifen - ungültige OpenPGP-Karte?\n"
@@ -6681,18 +6676,18 @@ msgstr ""
"Synatx: scdaemon [Optionen] [Befehl [Argumente]]\n"
"Smartcard Daemon für GnuPG\n"
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
"Bitte die Option `--daemon' nutzen um das Programm im Hintergund "
"auszuführen\n"
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr "Handhabungsroutine für fd %d gestartet\n"
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr "Handhabungsroutine für den fd %d beendet\n"
@@ -6864,31 +6859,31 @@ msgstr "DSA benötigt einen 160-bit Hash Algorithmus\n"
msgid "(this is the MD2 algorithm)\n"
msgstr "(Dies ist der MD2 Algorithmus)\n"
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
msgid "none"
msgstr "keine"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
msgid "[none]"
msgstr "[keine]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
msgid "[Error - invalid encoding]"
msgstr "[Fehler - Ungültige Kodierung]"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr "[Fehler - Nich genügend Speicher]"
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr "[Fehler - Kein Name]"
-#: sm/certdump.c:597
+#: sm/certdump.c:604
msgid "[Error - invalid DN]"
msgstr "[Fehler - Ungültiger DN]"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7386,11 +7381,11 @@ msgstr "[Datum nicht vorhanden]"
msgid " using certificate ID %08lX\n"
msgstr "mittels Zertifikat ID %08lX\n"
-#: sm/verify.c:506
+#: sm/verify.c:509
msgid "Good signature from"
msgstr "Korrekte Signatur von"
-#: sm/verify.c:507
+#: sm/verify.c:510
msgid " aka"
msgstr " alias"
@@ -7741,3 +7736,9 @@ msgstr "keine Klasse angegeben\n"
#, c-format
msgid "class %s is not supported\n"
msgstr "Klasse %s wird nicht unterstützt\n"
+
+#~ msgid ">.\n"
+#~ msgstr ">.\n"
+
+#~ msgid ".\n"
+#~ msgstr ".\n"
diff --git a/po/el.po b/po/el.po
index 227a5d360..9c7257048 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: hashtable: %s\n"
@@ -287,161 +287,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr " <gnupg-bugs@gnu.org>\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr ": gpg [] [] (-h )"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr ": `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr " `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr " `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr " `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr " `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr " %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr " `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr " : %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr " `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: \n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "trustdb: read (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: : %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr " : %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: : %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr " gpg-agent \n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr " GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4441,7 +4435,7 @@ msgstr " %s %s\n"
msgid "Signature expires at %s\n"
msgstr " %s.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4688,7 +4682,7 @@ msgstr " `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ": %08lX %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr " "
@@ -5739,26 +5733,26 @@ msgstr " %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr ", .\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr " DEK \n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr " %d%s \n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ": %d \n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr ": %08lX %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr ": "
@@ -5929,12 +5923,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6486,7 +6480,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr " %u LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr " bug ... (%s:%d)\n"
@@ -6519,11 +6513,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr " <gnupg-bugs@gnu.org>\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6554,47 +6543,52 @@ msgstr " cache : %s\n"
msgid "reading public key failed: %s\n"
msgstr " block : %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "keyserver : %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6602,113 +6596,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr " : %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr " : %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: free : %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' \n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr " "
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr " TrustDB: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr " block : %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr " : %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s , %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr " OpenPGP .\n"
@@ -6761,16 +6755,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6944,35 +6938,35 @@ msgstr " DSA 160 bit hash\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "|"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr ""
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr ": \n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr ": \n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7468,12 +7462,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr " \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " \""
@@ -7830,6 +7824,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr " %d%s\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr " agent - agent\n"
diff --git a/po/eo.po b/po/eo.po
index f6dfca9d6..51cd41f50 100644
--- 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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\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"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: malsukcesis krei haktabelon: %s\n"
@@ -287,161 +287,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Bonvolu raporti cimojn al <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTO: mankas implicita opcio-dosiero '%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "opcio-dosiero '%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "legas opciojn el '%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "eraro dum kreado de '%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, fuzzy, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: ne povas krei dosierujon: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "ne povas krei %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "eraro dum sendo al '%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "aktualigo malsukcesis: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "skribas sekretan losilon al '%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: dosierujo kreita\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: ne povas krei dosierujon: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "aktualigo de sekreto malsukcesis: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu losiloj ignoritaj\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, 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:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "malbona valoro de la media variablo GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4403,7 +4397,7 @@ msgstr "%s eksvalidios je %s\n"
msgid "Signature expires at %s\n"
msgstr "i tiu losilo eksvalidios je %s.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4645,7 +4639,7 @@ msgstr "ne povas krei '%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTO: sekreta losilo %08lX eksvalidiis je %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5694,26 +5688,26 @@ msgstr "nenomita ricevonto; provas per sekreta losilo %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "bone; ni estas la nenomita ricevonto.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "malnova kodado de DEK ne estas realigita\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "ifrad-metodo %d%s estas nekonata a malaltita\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTO: ifrad-metodo %d ne trovita en preferoj\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTO: sekreta losilo %08lX eksvalidiis je %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
#, fuzzy
msgid "NOTE: key has been revoked"
msgstr "losilo %08lX: losilo estas revokita!\n"
@@ -5882,12 +5876,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6421,7 +6415,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "enigata linio %u tro longa, a mankas linifino\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "vi trovis cimon ... (%s:%d)\n"
@@ -6454,11 +6448,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Bonvolu raporti cimojn al <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6489,47 +6478,52 @@ msgstr "malsukcesis rekonstrui losilaran staplon: %s\n"
msgid "reading public key failed: %s\n"
msgstr "forvio de losilbloko malsukcesis: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "Kreado de losiloj malsukcesis: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6537,113 +6531,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "eraro dum kreado de pasfrazo: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "eraro dum legado de losilbloko: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: eraro dum legado de libera registro: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "'%s' jam densigita\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "krei novan losilparon"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "forvio de losilbloko malsukcesis: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Kreado de losiloj malsukcesis: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s-subskribo de: %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
@@ -6696,16 +6690,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6888,35 +6882,35 @@ msgstr ""
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "ne"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "nekonata versio"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "%s: nevalida dosiero-versio %d\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "%s: nevalida dosiero-versio %d\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7411,12 +7405,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Bona subskribo de \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alinome \""
@@ -7772,6 +7766,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "protekto-metodo %d%s ne estas realigita\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problemo kun agento - malaltas uzadon de agento\n"
diff --git a/po/es.po b/po/es.po
index ab0d833fe..8fb3b3051 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gnupg 1.4.1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2005-03-25 16:50+0100\n"
"Last-Translator: Jaime Surez <jsuarez@ono.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -154,7 +154,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: fallo en la creacin de la tabla hash: %s\n"
@@ -308,162 +308,156 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Por favor, informe de posibles \"bugs\" a <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uso: gpg [opciones] [ficheros] (-h para ayuda)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTA: no existe el fichero de opciones predefinido `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "fichero de opciones `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "leyendo opciones desde `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "error creando `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "no se puede crear el directorio `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "no se puede crear %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "error enviando a `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "actualizacin fallida: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "escribiendo clave privada en `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "directorio `%s' creado\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) fall en %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: no se puede crear el directorio: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "actualizacin de la clave secreta fallida: %s\n"
# msgstr "clave %08lX: %d nuevas subclaves\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu claves omitidas\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "el agente gpg no esta disponible en esta sesin\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "variable de entorno GPG_AGENT_INFO malformada\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4338,7 +4332,7 @@ msgstr "La clave caduca %s\n"
msgid "Signature expires at %s\n"
msgstr "La firma caduca el %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4580,7 +4574,7 @@ msgstr "no se puede crear fichero de respaldo `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTA: copia de seguridad de la clave guardada en `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "nunca "
@@ -5608,26 +5602,26 @@ msgstr "destinatario annimo; probando clave secreta %s ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "de acuerdo, somos el destinatario annimo.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "la antigua codificacin de la DEK no puede usarse\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algoritmo de cifrado %d%s desconocido o desactivado\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTA: el cifrado %s no aparece en las preferencias del receptor\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: clave secreta %s caduc el %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTA: la clave ha sido revocada"
@@ -5796,12 +5790,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6343,7 +6337,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "la lnea %u es demasiado larga o no tiene avance de lnea (LF)\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "ha encontrado un error... (%s:%d)\n"
@@ -6376,11 +6370,6 @@ msgstr "habilita depuracin completa"
msgid "Please report bugs to "
msgstr "Por favor, informe de posibles \"bugs\" a <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6411,47 +6400,52 @@ msgstr "fallo guardando la fecha de creacin: %s\n"
msgid "reading public key failed: %s\n"
msgstr "fallo leyendo la clave\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "la respuesta no incluye la clave pblica\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "la respuesta no incluye el mdulo RSA\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "la respuesta no incluye el exponente pblico RSA\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "la funcin de manejo del PIN devolvi un error: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "El PIN para CHV%d es demasiado corto; longitud mnima %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "la verificacin CHV%d fall: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "el acceso a rdenes de administrador no est configurado\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "error recuperando el estatus CHV de la tarjeta\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "la tarjeta est bloqueada permanentemente!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6461,108 +6455,108 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|PIN Administrador"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Nuevo PIN Administrador"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Nuevo PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "error obteniendo nuevo PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "error leyendo datos de la aplicacin\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "error leyendo huella digital DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "la clave ya existe\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "la clave existente ser reemplazada\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "generando nueva clave\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, fuzzy, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "exponente pblico demasiado grande (ms de 32 bits)\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "fallo al almacenar la clave: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "por favor, espere mientras se genera la clave ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "la generacin de la clave fall\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "generacin de clave completada (%d segundos)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "estructura de la tarjeta OpenPGP invlida (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "firma %s, algoritmo de resumen %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "firmas creadas hasta ahora: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, fuzzy, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "PIN [firmas hechas: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "no se puede acceder a %s - tarjeta OpenPGP invlida?\n"
@@ -6615,16 +6609,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6807,35 +6801,35 @@ msgstr "DSA necesita un algoritmo de hash de 160 bits.\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[no establecido]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Error: respuesta no vlida.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Error: respuesta no vlida.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7337,12 +7331,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Firma correcta de \"%s\""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \"%s\""
@@ -7704,6 +7698,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "el resumen protector %d no puede ser utilizado\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problema con el agente - inhabilitando el uso del agente\n"
diff --git a/po/et.po b/po/et.po
index cbac78217..069c8ae40 100644
--- a/po/et.po
+++ b/po/et.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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-17 11:04+0300\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: paisktabeli loomine ebannestus: %s\n"
@@ -286,161 +286,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Palun saatke veateated aadressil <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Kasuta: gpg [vtmed] [failid] (-h nitab abiinfot)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "MRKUS: vaikimisi vtmete fail `%s' puudub\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "vtmete fail `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "loen vtmeid failist `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "viga `%s' loomisel: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "kataloogi `%s' ei nnestu luua: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "%s ei nnestu luua: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "viga teate saatmisel serverile `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "uuendamine ebannestus: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "kirjutan salajase vtme faili `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: kataloog on loodud\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "trustdb: lugemine ebannestus (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: kataloogi ei nnestu luua: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "salajase vtme uuendamine ebannestus: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: jtsin vahele: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent ei ole sesses sessioonis kasutatav\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "vigane GPG_AGENT_INFO keskkonnamuutuja\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4384,7 +4378,7 @@ msgstr "%s aegub %s\n"
msgid "Signature expires at %s\n"
msgstr "Allkiri aegub %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4623,7 +4617,7 @@ msgstr "`%s' ei nnestu luua: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "MRKUS: salajane vti %08lX aegus %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "mitte kunagi"
@@ -5660,26 +5654,26 @@ msgstr "anonmne saaja; proovin salajast vtit %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "ok, me oleme anonmne teate saaja.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "vana DEK kodeerimine ei ole toetatud\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "ifri algoritm %d%s on tundmatu vi blokeeritud\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "MRKUS: ifri algoritm %d puudub eelistustes\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "MRKUS: salajane vti %08lX aegus %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "MRKUS: vti on thistatud"
@@ -5853,12 +5847,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6390,7 +6384,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "sisendrida %u on liiga pikk vi seavahetus puudub\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "te leidsite vea ... (%s:%d)\n"
@@ -6423,11 +6417,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Palun saatke veateated aadressil <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6458,47 +6447,52 @@ msgstr "vtmehoidla vahemlu uuesti loomine ebannestus: %s\n"
msgid "reading public key failed: %s\n"
msgstr "vtmebloki kustutamine ebannestus: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "vtmeserverile saatmine ebannestus: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6506,113 +6500,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "viga parooli loomisel: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "viga vtmebloki lugemisel: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: viga vaba kirje lugemisel: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' on juba pakitud\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "genereeri uus vtmepaar"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "TrustDB initsialiseerimine ebannestus: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "vtmebloki kustutamine ebannestus: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Vtme genereerimine ebannestus: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s allkiri, snumilhendi algoritm %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "ei leia OpenPGP andmeid.\n"
@@ -6665,16 +6659,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6848,35 +6842,35 @@ msgstr "DSA nuab 160 bitist rsialgoritmi kasutamist\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "ei"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "tundmatu"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "viga: vigane srmejlg\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "viga: vigane srmejlg\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7371,12 +7365,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Korrektne allkiri kasutajalt \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " ka \""
@@ -7733,6 +7727,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "kaitse algoritm %d%s ei ole toetatud\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "probleem agendiga - blokeerin agendi kasutamise\n"
diff --git a/po/fi.po b/po/fi.po
index 8e1390ac9..ebf82f59c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-16 22:40+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -148,7 +148,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n"
@@ -302,7 +302,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -310,154 +310,148 @@ msgid "Please report bugs to <"
msgstr ""
"Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "HUOM: Ei oletusasetustiedostoa \"%s\"\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "asetustiedosto \"%s\": %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "luetaan asetukset tiedostosta \"%s\"\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "virhe luotaessa \"%s\": %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "hakemiston \"%s\" luominen ei onnistu: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "ei voida luoda kohdetta %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "päivitys epäonnistui: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: hakemisto luotu\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "trustdb: luku epäonnistui (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: hakemistoa ei voi luoda: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "salaisen päivitys epäonnistui: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: ohitettu: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent ei ole käytettävissä tässä istunnossa\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "GPG_AGENT_INFO-ympäristömuuttuja on väärin muotoiltu\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4424,7 +4418,7 @@ msgstr "%s vanhenee %s\n"
msgid "Signature expires at %s\n"
msgstr "Allekirjoitus vanhenee %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4668,7 +4662,7 @@ msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "HUOM: salainen avain %08lX vanheni %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "ei koskaan"
@@ -5724,26 +5718,26 @@ msgstr "nimetön vastaanottaja; yritän käyttää salaista avainta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "ok, nimetön vastaanottaja olet sinä.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "vanhaa DEK-koodaus ei tueta\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "salausalgoritmi %d%s on tuntematon tai poistettu käytöstä\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "HUOM: salausalgoritmia %d ei löydy valinnoista\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "HUOM: salainen avain %08lX vanheni %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "HUOM: avain on mitätöity!"
@@ -5914,12 +5908,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6467,7 +6461,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "syöterivi %u on liian pitkä tai rivinvaihto puutuu\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "olet löytänyt ohjelmistovian ... (%s:%d)\n"
@@ -6501,11 +6495,6 @@ msgid "Please report bugs to "
msgstr ""
"Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6536,47 +6525,52 @@ msgstr "avainrenkaan välimuistin uudelleenluominen epäonnistui: %s\n"
msgid "reading public key failed: %s\n"
msgstr "avainlohkojen poisto epäonnistui: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "avainpalvelimelle lähettäminen epäonnistui: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6584,114 +6578,114 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "virhe luotaessa salasanaa: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "virhe luettaessa avainlohkoa: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: virhe luettaessa vapaata tietuetta: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "\"%s\" on jo pakattu\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "luo uusi avainpari"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "avainlohkojen poisto epäonnistui: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Avaimen luonti epäonnistui: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
# Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
@@ -6744,16 +6738,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6927,35 +6921,35 @@ msgstr "DSA vaatii 160-bittisen tiivistealgoritmin käyttöä\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "ei"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "tuntematon "
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "virhe: sormenjälki on väärä\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "virhe: sormenjälki on väärä\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7450,12 +7444,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Allekirjoitus täsmää lähettäjään \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " aka \""
@@ -7812,6 +7806,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "suojausalgoritmi %d%s ei ole käytettävissä\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "agentin käytössä on ongelmia - agenttia ei käytetä\n"
diff --git a/po/fr.po b/po/fr.po
index 60e73f9c5..3bb82de3f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2005-06-28 00:24+0200\n"
"Last-Translator: Gal Quri <gael@lautre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -140,7 +140,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: la cration de la table de hachage a chou: %s\n"
@@ -297,7 +297,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -306,156 +306,150 @@ msgstr ""
"Signaler toutes anomalies <gnupg-bugs@gnu.org> (en anglais)\n"
"et tout problme de traduction <traduc@traduc.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Utilisation: gpg [options] [fichiers] (-h pour l'aide)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTE: pas de fichier d'options par dfaut `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "fichier d'options `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "lire les options de `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "erreur pendant la cration de `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "impossible de crer le rpertoire `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "impossible de crer `%s': %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr ""
"erreur pendant la recherche de l'enregistrement de confiance\n"
"dans `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "la mise jour a chou: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "criture de la cl secrte dans `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "rpertoire `%s' cr\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) chou dans %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "impossible de crer le rpertoire `%s': %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "la mise jour de la cl secrte a chou: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: ignor: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent n'est pas disponible dans cette session\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "la variable d'environnement GPG_AGENT_INFO est mal dfinie\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4423,7 +4417,7 @@ msgstr "La cl expire le %s\n"
msgid "Signature expires at %s\n"
msgstr "La signature expire le %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4671,7 +4665,7 @@ msgstr "impossible de crer le fichier de sauvegarde `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTE: sauvegarde de la cl de la carte dans `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "jamais "
@@ -5732,28 +5726,28 @@ msgstr "destinataire anonyme; essai de la cl secrte %s...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "d'accord, nous sommes le destinataire anonyme.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "l'ancien codage de la cl de chiffrement (DEK) n'est pas support\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "l'algorithme de chiffrement %d%s est inconnu ou dsactiv\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
"AVERTISSEMENT: l'algorithme de chiffrement %s n'a pas t trouv\n"
"dans les prfrences du destinataire\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTE: la cl secrte %s a expir le %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTE: la cl a t rvoque"
@@ -5922,12 +5916,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6497,7 +6491,7 @@ msgstr ""
"la ligne d'entre %u est trop longue ou il manque un caractre de saut\n"
"de ligne\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "vous avez trouv un bug... (%s:%d)\n"
@@ -6532,11 +6526,6 @@ msgstr ""
"Signaler toutes anomalies <gnupg-bugs@gnu.org> (en anglais)\n"
"et tout problme de traduction <traduc@traduc.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6567,49 +6556,54 @@ msgstr "impossible de stocker la date de cration: %s\n"
msgid "reading public key failed: %s\n"
msgstr "la lecture de la cl publique a chou: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "la rponse ne contient pas les donnes de cl publique\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "la rponse ne contient pas le modulo RSA\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "la rponse ne contient pas l'exposant public RSA\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "l'appel du PIN a retourn une erreur: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
"Le code PIN pour CHV%d est trop court ; la longueur minimale\n"
"est %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "la vrification CHV%d a chou: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "l'accs aux commandes d'administration n'est pas configur\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "erreur pendant la rcupration de l'tat CHV de la carte\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "la carte est irrmdiablement bloque !\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6619,112 +6613,112 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|code PIN d'administration"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Nouveau code PIN d'administration"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Nouveau code PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "erreur pendant la lecture de donnes d'application\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "erreur pendant la lecture de l'empreinte DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "la cl existe dj\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "la cl existante sera remplace\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "gnrer une nouvelle cl\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "l'horodatage de cration est manquant\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "le module RSA est manquant ou bien sa taille n'est pas %d bits\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "l'exposant public RSA est manquant ou trop lev (plus de %d bits)\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
"le nombre premier RSA %s est manquant ou bien sa taille n'est pas\n"
"%d bits\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "le stockage de la cl a chou: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "attendez que la cl se gnre...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "la gnration de la cl a chou\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "la gnration de cl a t effectue (%d secondes)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "structure de carte OpenPGP invalide (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "signature %s, algorithme de hachage %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "signatures cres jusqu'ici: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Entrez le PIN%%0A[sigs faites: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
"la vrification du code PIN d'administration est actuellement interdite\n"
"au travers de cette commande\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "impossible d'accder %s - carte OpenPGP invalide ?\n"
@@ -6774,16 +6768,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6957,35 +6951,35 @@ msgstr "DSA ncessite l'utilisation d'un algorithme de hachage de 160 bits\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "non"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[non positionn]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Erreur: rponse invalide.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Erreur: rponse invalide.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7498,12 +7492,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Bonne signature de %s "
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias %s "
@@ -7862,6 +7856,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "le hachage de protection %d n'est pas support\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problme avec l'agent - arrt d'utilisation de l'agent\n"
diff --git a/po/gl.po b/po/gl.po
index 3993e6793..1ca0b2f3a 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2003-12-04 11:39+0100\n"
"Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: fallo ao crear unha tboa hash: %s\n"
@@ -289,7 +289,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -298,154 +298,148 @@ msgstr ""
"Por favor, informe dos erros no programa a <gnupg-bugs@gnu.org>,\n"
"e dos erros na traduccin a <proxecto@trasno.net>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uso: gpg [opcins] [ficheiros] (-h para ve-la axuda)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTA: non existe o ficheiro de opcins por defecto `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "ficheiro de opcins `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "lendo as opcins de `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "erro ao crear `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "non se pode crea-lo directorio `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "non foi posible crear %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "erro ao enviar a `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "a actualizacin fallou: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "gravando a chave secreta en `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: directorio creado\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "base de datos de confianza: fallou a lectura (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: non foi posible crear un directorio: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "o segredo da actualizacin fallou: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu chaves omitidas\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent non est dispoible nesta sesin\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "variable de ambiente GPG_AGENT_INFO mal formada\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4427,7 +4421,7 @@ msgstr "%s caduca o %s\n"
msgid "Signature expires at %s\n"
msgstr "A sinatura caduca o %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4672,7 +4666,7 @@ msgstr "non se pode crear `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTA: a chave secreta %08lX caducou o %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "nunca "
@@ -5720,26 +5714,26 @@ msgstr "destinatario annimo; tentando a chave secreta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "vale, ns somo-lo destinatario annimo.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "a codificacin vella do DEK non est soportada\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "o algoritmo de cifrado %d%s descoecido ou est desactivado\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTA: o algoritmo de cifrado %d non foi atopado nas preferencias\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: a chave secreta %08lX caducou o %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTA: a chave est revocada"
@@ -5911,12 +5905,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6466,7 +6460,7 @@ msgid "input line %u too long or missing LF\n"
msgstr ""
"a lia de entrada %u longa de mis ou fltalle a marca de fin de lia\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "atopou un erro ... (%s:%d)\n"
@@ -6501,11 +6495,6 @@ msgstr ""
"Por favor, informe dos erros no programa a <gnupg-bugs@gnu.org>,\n"
"e dos erros na traduccin a <proxecto@trasno.net>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6536,47 +6525,52 @@ msgstr "fallo ao reconstru-la cach de chaveiros: %s\n"
msgid "reading public key failed: %s\n"
msgstr "fallou o borrado do bloque de chaves: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "o envo ao servidor de chaves fallou: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6584,113 +6578,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "erro ao crea-lo contrasinal: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "erro ao le-lo bloque de chaves: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: erro ao ler un rexistro libre: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' xa est comprimido\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "xerar un novo par de chaves"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "fallou o borrado do bloque de chaves: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "A xeracin da chave fallou: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "Sinatura %s, algoritmo de resumo %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "non se atoparon datos OpenPGP vlidos.\n"
@@ -6743,16 +6737,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6935,35 +6929,35 @@ msgstr "DSA require o emprego dun algoritmo hash de 160 bits\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "non|nom"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "descoecido"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "erro: pegada dactilar non vlida\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "erro: pegada dactilar non vlida\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7458,12 +7452,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Sinatura correcta de \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7823,6 +7817,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "o algoritmo de proteccin %d%s non est soportado\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problema co axente - desactivando o emprego do axente\n"
diff --git a/po/hu.po b/po/hu.po
index d1b79bc24..a09f270ae 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-19 21:53+0200\n"
"Last-Translator: Nagy Ferenc Lszl <nfl@nfllab.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: Hashtbla ltrehozsa sikertelen: %s.\n"
@@ -286,161 +286,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "A hibkat (angolul) a <gnupg-bugs@gnu.org> cmre rja meg!\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Hasznlat: gpg [opcik] [fjlok] (-h a sghoz)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "MEGJEGYZS: Nincs alaprtelmezett opcis fjl (%s).\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "\"%s\" opcis fjl: %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "Az opcikat a \"%s\" llomnybl olvasom.\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "Hiba \"%s\" ltrehozsakor: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "Nem tudom a \"%s\" knyvtrat ltrehozni: %s.\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "%s nem hozhat ltre: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "Hiba %s-ra/-re kldskor: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "Frissts sikertelen: %s.\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "rom a titkos kulcsot a %s llomnyba.\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: Knyvtrat ltrehoztam.\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "Bizalmi adatbzis: olvass sikertelen (n=%d): %s.\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: Nem tudom a knyvtrat ltrehozni: %s.\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "Titkoskulcs-blokk frisstse sikertelen: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: kihagyva: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "GPG gynk nem elrhet ebben a munkafolyamatban.\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "Nem megfelel formj GPG_AGENT_INFO krnyezeti vltoz!\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4396,7 +4390,7 @@ msgstr "%s lejr: %s\n"
msgid "Signature expires at %s\n"
msgstr "Az alrs lejr: %s.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4640,7 +4634,7 @@ msgstr "Nem tudom ltrehozni a(z) \"%s\" llomnyt: %s.\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "MEGJEGYZS: %08lX titkos kulcs %s-kor lejrt.\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "soha "
@@ -5694,26 +5688,26 @@ msgstr "Anonim cmzett. A %08lX titkos kulcsot prblom...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "Rendben, mi vagyunk az anonim cmzett.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "A DEK rgi kdolsa nem tmogatott.\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "A %d%s rejtjelez algoritmus ismeretlen vagy tiltott.\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "MEGJEGYZS: %d rejtjelez algoritmus nincs a preferencik kztt.\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "MEGJEGYZS: %08lX titkos kulcs %s-kor lejrt.\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "MEGJEGYZS: A kulcsot visszavontk."
@@ -5883,12 +5877,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6430,7 +6424,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "A bemeneti sor (%u) tl hossz, vagy hinyzik a soremels.\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "Tallt egy programhibt... (%s:%d)\n"
@@ -6463,11 +6457,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "A hibkat (angolul) a <gnupg-bugs@gnu.org> cmre rja meg!\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6498,47 +6487,52 @@ msgstr "Nem tudtam jrapteni a kulcskarika cache-t: %s\n"
msgid "reading public key failed: %s\n"
msgstr "A kulcsblokk trlse sikertelen: %s.\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "Klds a kulcsszerverre sikertelen: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6546,113 +6540,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "Hiba a jelsz ltrehozsakor: %s.\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "Hiba a kulcsblokk olvassakor: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: Hiba szabad rekord olvassakor: %s.\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "\"%s\" mr tmrtett.\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "j kulcspr ltrehozsa"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "Bizalmi adatbzis (%s) inicializlsa sikertelen!\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "A kulcsblokk trlse sikertelen: %s.\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Kulcsgenerls sikertelen: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s alrs, %s kivonatol algoritmus.\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "Nem talltam rvnyes OpenPGP adatot.\n"
@@ -6705,16 +6699,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6888,35 +6882,35 @@ msgstr "A DSA 160 bites hash (kivonatol) algoritmust ignyel.\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nem"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "Ismeretlen md"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Hiba: rvnytelen ujjlenyomat.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Hiba: rvnytelen ujjlenyomat.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7412,12 +7406,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "J alrs a kvetkeztl: \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " azaz \""
@@ -7774,6 +7768,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "%d%s vd algoritmus nem tmogatott.\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "Problma van az gynkkel. Letiltom a hasznlatt.\n"
diff --git a/po/id.po b/po/id.po
index c8058caf8..e3640af51 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-id\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-17 16:32+0700\n"
"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -134,7 +134,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: gagal membuat hashtable: %s\n"
@@ -288,161 +288,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Laporkan bug ke <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "CATATAN: tidak ada file pilihan baku `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "file pilihan `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "membaca pilihan dari `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "kesalahan penciptaan : `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "tidak dapat membuat direktori `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "tidak dapat membuat %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "kesalahan mengirim ke `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "gagal memperbarui: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "menulis kunci rahasia ke `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: direktori tercipta\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "trustdb: read failed (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: tidak dapat membuat direktori: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "gagal perbarui rahasia: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: dilewati: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent tidak tersedia untuk sesi ini\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "variabel lingkungan GPG_AGENT_INFO salah bentuk\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4416,7 +4410,7 @@ msgstr "%s berakhir pada %s\n"
msgid "Signature expires at %s\n"
msgstr "Signature kadaluarsa pada %s \n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4657,7 +4651,7 @@ msgstr "tidak dapat membuat %s: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "CATATAN: kunci pribadi %08lX berakhir pada %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "tidak pernah..."
@@ -5697,26 +5691,26 @@ msgstr "penerima anonim; mencoba kunci rahasia %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "baik, kita adalah penerima anonim.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "encoding lama DEK tidak didukung\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algoritma cipher %d%s tidak dikenal atau ditiadakan\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "CATATAN: algoritma cipher %d tidak ditemukan dalam preferensi\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "CATATAN: kunci pribadi %08lX berakhir pada %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "CATATAN: kunci telah dibatalkan"
@@ -5886,12 +5880,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6433,7 +6427,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "baris input %u terlalu panjang atau hilang LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "anda menemukan kesalahan ...(%s:%d)\n"
@@ -6466,11 +6460,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Laporkan bug ke <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6501,47 +6490,52 @@ msgstr "gagal membuat kembali cache keyring: %s\n"
msgid "reading public key failed: %s\n"
msgstr "gagal menghapus keyblok: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "Pengiriman keyserver gagal: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6549,113 +6543,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "kesalahan penciptaan passphrase: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "gagal membaca keyblock: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: kesalahan membaca record bebas: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' sudah dikompresi\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "buat sepasang kunci baru"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "gagal inisialisasi TrustDB: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "gagal menghapus keyblok: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Pembuatan kunci gagal: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s signature, algoritma digest %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "tidak ditemukan data OpenPGP yang valid.\n"
@@ -6708,16 +6702,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6891,35 +6885,35 @@ msgstr "DSA butuh penggunaan algoritma hash 160 bit\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "n|t|tidak"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "tidak dikenal"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "kesalahan: fingerprint tidak valid\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "kesalahan: fingerprint tidak valid\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7414,12 +7408,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Signature baik dari \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7776,6 +7770,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "algoritma proteksi %d%s tidak didukung\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "masalah dengan agen - tiadakan penggunaan agen\n"
diff --git a/po/it.po b/po/it.po
index 17ee9c136..d0e0d3d3c 100644
--- a/po/it.po
+++ b/po/it.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: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-16 17:01+0200\n"
"Last-Translator: Marco d'Itri <md@linux.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -132,7 +132,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: creazione della tabella hash fallita: %s\n"
@@ -286,161 +286,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Per favore segnala i bug a <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uso: gpg [opzioni] [files] (-h per l'aiuto)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTA: manca il file `%s' con le opzioni predefinite\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "file con le opzioni `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "lettura delle opzioni da `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "errore creando `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "impossibile creare la directory `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "impossibile creare %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "errore leggendo `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "aggiornamento fallito: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "scrittura della chiave segreta in `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: directory creata\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "trustdb: read fallita (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: impossibile creare la directory: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "aggiornamento della chiave segreta fallito: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: saltata: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent non disponibile in questa sessione\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "variabile di ambiente GPG_AGENT_INFO malformata\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4432,7 +4426,7 @@ msgstr "%s scadr il %s\n"
msgid "Signature expires at %s\n"
msgstr "Questa firma scadr il %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4676,7 +4670,7 @@ msgstr "impossibile creare `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTA: chiave %08lX scaduta il %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "mai "
@@ -5727,27 +5721,27 @@ msgstr "destinatario anonimo; provo la chiave segreta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "bene, siamo il destinatario anonimo.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "la vecchia codifica del DEK non gestita\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "l'algoritmo di cifratura %d%s sconosciuto o disattivato\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
"NOTA: l'algoritmo di cifratura %d non stato trovato tra le preferenze\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: chiave %08lX scaduta il %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTA: la chiave stata revocata"
@@ -5921,12 +5915,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6481,7 +6475,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "linea di input %u troppo lunga o LF mancante\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "hai trovato un bug... (%s:%d)\n"
@@ -6514,11 +6508,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Per favore segnala i bug a <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6549,47 +6538,52 @@ msgstr "rebuild della cache del portachiavi fallito: %s\n"
msgid "reading public key failed: %s\n"
msgstr "cancellazione del keyblock fallita: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "invio al keyserver fallito: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6597,113 +6591,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "errore nella creazione della passhprase: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "errore leggendo il keyblock: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: errore durante la lettura del record libero: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' gi compresso\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "genera una nuova coppia di chiavi"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "inizializzazione del trustdb fallita: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "cancellazione del keyblock fallita: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Generazione della chiave fallita: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "Firma %s, algoritmo di digest %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "Non sono stati trovati dati OpenPGP validi.\n"
@@ -6756,16 +6750,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6939,35 +6933,35 @@ msgstr "DSA richiede l'uso di un algoritmo di hashing con almeno 160 bit\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "sconosciuto"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "errore: impronta digitale non valida\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "errore: impronta digitale non valida\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7462,12 +7456,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Firma valida da \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7824,6 +7818,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "l'algoritmo di protezione %d%s non gestito\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problema con l'agent - uso dell'agent disattivato\n"
diff --git a/po/ja.po b/po/ja.po
index 710902b2b..609356175 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.3.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-11-23 11:14+0900\n"
"Last-Translator: IIDA Yosiaki <iida@gnu.org>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -135,7 +135,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: ϥåɽκ˼Ԥޤ: %s\n"
@@ -289,161 +289,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Х򸫤Ĥ <gnupg-bugs@gnu.org> ޤǤ𤯤\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Ȥ: gpg [ץ] [ե] (إפ -h)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr ": Υץ󡦥ե%sפޤ\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "ץ󡦥ե%s: %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "%sפ饪ץɤ߽Фޤ\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "%sפκ顼: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "ǥ쥯ȥ꡼%sפǤޤ: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "%sפǤޤ: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "%sפǿѥ쥳ɤθ顼: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "˼Ԥޤ: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "%sפ̩񤭹ߤޤ\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "ǥ쥯ȥ꡼%sפǤޤ\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d)%sǼԤޤ: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "ǥ쥯ȥ꡼%sפǤޤ: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "̩ι˼Ԥޤ: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: å: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "Υågpg-agent̵Ǥ\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "GPG_AGENT_INFOĶѿν񼰤ޤ\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4289,7 +4283,7 @@ msgstr "%s%sλޤ\n"
msgid "Signature expires at %s\n"
msgstr "ν̾%sλǤ\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4524,7 +4518,7 @@ msgstr "Хååסե%sפǤޤ: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ": ɸΥХååפ%sפ¸ޤ\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "̵ "
@@ -5535,26 +5529,26 @@ msgstr "ƿ̾μѤǤ̩%sޤ ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "λƿ̾μѤǤ\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "켰DEKϡݡȤƤޤ\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "Ź楢르ꥺ%d%s̤ΤѶػߤǤ\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "ٹ: Ź楢르ꥺ%sϼͤäƤޤ\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr ": ̩%s%sλǤ\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr ": ϼѤߤǤ"
@@ -5717,12 +5711,12 @@ msgstr "оΰŹˡμ夤򤹤뤳ȤǤޤ%dߤޤ!\n"
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6244,7 +6238,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "Ϥ%uܤĹ뤫LFʤ褦Ǥ\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "Хȯ ... (%s:%d)\n"
@@ -6277,11 +6271,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Х򸫤Ĥ <gnupg-bugs@gnu.org> ޤǤ𤯤\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6312,47 +6301,52 @@ msgstr "ݴɤ˼Ԥޤ: %s\n"
msgid "reading public key failed: %s\n"
msgstr "ɽФ˼Ԥޤ: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "˸ǡޤޤƤޤ\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "RSAˡ(modulus)ޤޤƤޤ\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "RSAؿޤޤƤޤ\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "PINХå顼ᤷޤ: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "CHV%dPINûޤû%d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "CHV%dθڤ˼Ԥޤ: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "ޥɤؤΥꤵƤޤ\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "ɤCHV֤θǥ顼\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "ɤʵפ˥åޤ!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "ɤαʵץå%dAdmin PINƤޤ\n"
@@ -6360,110 +6354,110 @@ msgstr "ɤαʵץå%dAdmin PINƤޤ\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Admin PIN"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
#, fuzzy
msgid "|AN|New Admin PIN"
msgstr "|A|Admin PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
#, fuzzy
msgid "|N|New PIN"
msgstr "PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "PINμ顼: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "ץꥱ󡦥ǡɽФ顼\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "ǡ֥ȤɽФ顼\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "Ϥ⤦ޤ\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "¸θϸ򴹤ޤ\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, fuzzy, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "ؿ礭ޤ (32ӥåȤ)\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "ݴɤ˼Ԥޤ: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "δ֡Ԥ ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "˼Ԥޤ\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "λޤ (%d)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "OpenPGPɤ̵ʹ¤ (ǡ֥ 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s̾󥢥르ꥺ %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "ޤǤ˺줿̾: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, fuzzy, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "PIN [̾: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "%s˥Ǥޤ - ̵OpenPGP?\n"
@@ -6513,16 +6507,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6696,35 +6690,35 @@ msgstr "DSAǤ160ӥåȤΥϥå塦르ꥺλѤɬפǤ\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[̤]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "顼: ̵ʱ\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "顼: ̵ʱ\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7228,12 +7222,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "%sɤ̾"
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " ̾%s"
@@ -7590,6 +7584,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "ݸ%dϥݡȤƤޤ\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "Ȥ˾㳲: Ѷػ\n"
diff --git a/po/nb.po b/po/nb.po
index 76624b8e7..2dcd2629a 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.3\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2006-06-13 20:31+0200\n"
"Last-Translator: Trond Endrestl <Trond.Endrestol@fagskolen.gjovik.no>\n"
"Language-Team: Norwegian Bokml <i18n-nb@lister.ping.uio.no>\n"
@@ -135,7 +135,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "klarte ikke lagre nkkelen: %s\n"
@@ -289,160 +289,154 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Vennligst rapporter feil til <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Bruksmte: gpg [valg] [filer] (-h for hjelp)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "MERK: ingen standard valgfil %s\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "valgfil %s: %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "leser valg fra %s\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr ""
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "kan ikke opprette katalogen %s: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "kan ikke opprette %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "feil ved sking etter tillitspost i %s: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "oppdatering mislyktes: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "skriver hemmelig nkkel til %s\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "katalogen %s ble opprettet\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) mislyktes in %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "kan ikke opprette katalogen %s: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "oppdatering av hemmelig mislyktes: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: hoppet over: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr ""
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr ""
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4167,7 +4161,7 @@ msgstr "Nkkel utgr den %s\n"
msgid "Signature expires at %s\n"
msgstr "Signaturen utgr den %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4412,7 +4406,7 @@ msgstr "kan ikke opprette sikkerhetskopifil %s: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ""
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5425,27 +5419,27 @@ msgstr ""
msgid "okay, we are the anonymous recipient.\n"
msgstr ""
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr ""
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr ""
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
"ptvinging av kompresjonsalgoritme %s bryter med mottakerens preferanser\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTIS: hemmelig nkkel %s utgikk den %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr ""
@@ -5603,12 +5597,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6123,7 +6117,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr ""
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "du fant en feil ... (%s:%d)\n"
@@ -6156,11 +6150,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Vennligst rapporter feil til <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6191,47 +6180,52 @@ msgstr "klarte ikke lagre opprettelsesdatoen: %s\n"
msgid "reading public key failed: %s\n"
msgstr "lesing av offentlig nkkel mislyktes: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "respons inneholder ikke data om offentlig nkkel\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "respons inneholder ikke RSA-modulus\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "respons inneholder ikke den offentlige RSA-eksponenten\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "PIN-callback returnerte en feil: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "PIN for CHV%d er for kort; minum lengde er %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "bekreftelse av CHV%d mislyktes: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "tilgang til admin-kommandoer er ikke konfigurert\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "feil ved henting av CHV-status fra kort\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "kort er permanent lst!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "%d Admin PIN-forsk fr kortet blir lst permanent\n"
@@ -6239,108 +6233,108 @@ msgstr "%d Admin PIN-forsk fr kortet blir lst permanent\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Admin PIN"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Ny Admin PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Ny PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "feil ved henting av ny PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "feil ved lesing av applikasjonsdata\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "feil ved lesing av fingeravtrykk DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "nkkel finnes allerede\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "eksisterende nkkel vil bli erstattet\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "generere en ny nkkel\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "tidsstempel for opprettelse mangler\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "RSA-modulus mangler eller har ikke en strrelse p %d bits\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "offentlig RSA-eksponent mangler eller er strre enn %d bits\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "RSA-primtall %s mangler eller har ikke en strrelse p %d bits\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "klarte ikke lagre nkkelen: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "vennligst vent mens nkkel blir generert ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "nkkelgenerering mislyktes\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "nkkelgenerering fullfrt (%d sekunder)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "ugyldig struktur i OpenPGP-kort (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "kortet sttter ikke digestalgoritme %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "signaturer opprettet s langt: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Vennligst tast inn PIN%%0A[signaturer utfrt: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr "bekrefting av Admin PIN er forelpig nektet gjennom denne kommandoen\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "kan ikke aksere %s - ugyldig OpenPGP-kort?\n"
@@ -6390,16 +6384,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6571,35 +6565,35 @@ msgstr "DSA krever bruk av en 160-bit hashalgoritme\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nei"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[ikke satt]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Feil: ugyldig respons.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Feil: ugyldig respons.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7102,12 +7096,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "God signatur fra %s"
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " aka %s"
@@ -7464,6 +7458,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "ikke stttet"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "can't query passphrase in batch mode\n"
#~ msgstr "kan ikke sprre om passfrase i batchmodus\n"
diff --git a/po/pl.po b/po/pl.po
index aa15a9d0d..d240b3630 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-06-23 15:54+0200\n"
"Last-Translator: Janusz A. Urbanowicz <alex@bofh.net.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
@@ -142,7 +142,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: tworzenie tablicy skrtw nie powiodo si: %s\n"
@@ -297,161 +297,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Bdy prosimy zgasza na adres <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Wywoanie: gpg [opcje] [pliki] (-h podaje pomoc)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "UWAGA: brak domylnego pliku opcji ,,%s''\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "plik opcji ,,%s'': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "odczyt opcji z ,,%s''\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "bd tworzenia `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "nie mona utworzy katalogu ,,%s'': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "nie mona utworzy %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "bd przy wysyaniu do ,,%s'': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "zapis zmian nie powid si: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "zapisuj klucz tajny w '%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: katalog utworzony\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "baza zaufania: funkcja read() (n=%d) zawioda: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: nie mona utworzy katalogu: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "zapis zmian na kluczu prywatnym nie powid si: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu kluczy pominitych\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent nie jest dostpny w tej sesji\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "zy format zmiennej rodowiskowej GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4426,7 +4420,7 @@ msgstr "%s traci wano: %s\n"
msgid "Signature expires at %s\n"
msgstr "Wano podpisu wygasa %s.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4677,7 +4671,7 @@ msgstr "nie mona utworzy ,,%s'': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "UWAGA: wano klucza tajnego %08lX wygasa %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "nigdy "
@@ -5720,26 +5714,26 @@ msgstr "adresat anonimowy; sprawdzanie %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "OK, to my jestemy adresatem anonimowym.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "stary, nie obsugiwany algorytm szyfrowania klucza sesyjnego\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algorytm szyfrujcy %d%s jest nieznany, lub zosta wyczony\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "UWAGA: brak algorytmu szyfrujcego %d w ustawieniach\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "UWAGA: wano klucza tajnego %08lX wygasa %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "UWAGA: klucz zosta uniewaniony"
@@ -5915,12 +5909,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6465,7 +6459,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "linia wejcia %u zbyt duga lub brak znaku LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "znalaze(a) bd w programie ... (%s:%d)\n"
@@ -6498,11 +6492,6 @@ msgstr "umoliwienie penego ledzenia programu"
msgid "Please report bugs to "
msgstr "Bdy prosimy zgasza na adres <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6533,47 +6522,52 @@ msgstr "nie powioda si odbudowa bufora bazy: %s\n"
msgid "reading public key failed: %s\n"
msgstr "usunicie bloku klucza nie powiodo si: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "wysyka do serwera kluczy nie powioda si: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6581,113 +6575,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "bd podczas tworzenia hasa: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "bd odczytu bloku kluczy: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: bd odczytu pustego wpisu: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr ",,%s'' ju jest skompresowany\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "generacja nowej pary kluczy"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "inicjowanie Bazy Zaufania nie powiodo si: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "usunicie bloku klucza nie powiodo si: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Generacja klucza nie powioda si: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "podpis %s, skrt %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "nie odnaleziono poprawnych danych w formacie OpenPGP.\n"
@@ -6740,16 +6734,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6933,35 +6927,35 @@ msgstr ""
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nie"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "nieznany"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "bd: niewaciwy odcisk klucza\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "bd: niewaciwy odcisk klucza\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7456,12 +7450,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Poprawny podpis zoony przez \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7819,6 +7813,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "algorytm ochrony %d%s nie jest obsugiwany\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problem z agentem - zostaje wyczony\n"
diff --git a/po/pt.po b/po/pt.po
index 796ab7d9c..36155a2c2 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2002-09-13 18:26+0100\n"
"Last-Translator: Pedro Morais <morais@kde.org>\n"
"Language-Team: pt <morais@kde.org>\n"
@@ -135,7 +135,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: falha ao criar tabela de disperso: %s\n"
@@ -290,161 +290,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uso: gpg [opes] [ficheiros] (-h para ajuda)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTA: ficheiro de opes por omisso `%s' inexistente\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "ficheiro de opes `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "a ler opes de `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "erro ao criar `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, fuzzy, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: impossvel criar directoria: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "impossvel criar %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "erro ao enviar para `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "actualizao falhou: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "a escrever chave privada para `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: directoria criada\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "base de dados de confiana: leitura falhou (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: impossvel criar directoria: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "actualizao da chave secreta falhou: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: ignorado: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "o gpg-agent no est disponvel nesta sesso\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "varivel de ambiente GPG_AGENT_INFO invlida\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4410,7 +4404,7 @@ msgstr "%s expira em %s\n"
msgid "Signature expires at %s\n"
msgstr "Esta assinatura expirou em %s.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4656,7 +4650,7 @@ msgstr "impossvel criar `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTA: chave secreta %08lX expirou em %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5703,26 +5697,26 @@ msgstr "destinatrio annimo; a tentar chave secreta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "certo, ns somos o destinatrio annimo.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "codificao antiga do DEK no suportada\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algoritmo de cifra %d%s desconhecido ou foi desactivado\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTA: algoritmo de cifragem %d no encontrado nas preferncias\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: chave secreta %08lX expirou em %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOTA: a chave foi revogada"
@@ -5892,12 +5886,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6441,7 +6435,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "linha de entrada %u demasiado longa ou falta o LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "voc encontrou um bug ... (%s:%d)\n"
@@ -6474,11 +6468,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6509,47 +6498,52 @@ msgstr "falha ao criar 'cache' do porta-chaves: %s\n"
msgid "reading public key failed: %s\n"
msgstr "remoo do bloco de chave falhou: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "A gerao de chaves falhou: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6557,113 +6551,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "erro na criao da frase secreta: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "erro na leitura do bloco de chave: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: erro ao ler registo livre: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "%s' j comprimido\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "gerar um novo par de chaves"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "falha ao inicializar a base de dados de confiana: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "remoo do bloco de chave falhou: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "A gerao de chaves falhou: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "assinatura %s de: \"%s\"\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "nenhum dado OpenPGP vlido encontrado.\n"
@@ -6716,16 +6710,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6899,35 +6893,35 @@ msgstr "DSA necessita de utilizao de uma algoritmo de disperso de 160 bit\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "verso desconhecida"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "%s: verso de ficheiro invlida %d\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "%s: verso de ficheiro invlida %d\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7428,12 +7422,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Assinatura correcta de \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " ou \""
@@ -7789,6 +7783,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "algoritmo de proteco %d%s no suportado\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problema com o agente - a desactivar a utilizao deste\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 25def1807..dc649fe85 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU gnupg 1.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 1998-11-20 23:46:36-0200\n"
"Last-Translator:\n"
"Language-Team: ?\n"
@@ -139,7 +139,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
@@ -294,160 +294,154 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Uso: gpg [opes] [arquivos] (-h para ajuda)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOTA: arquivo de opes padro `%s' inexistente\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "arquivo de opes `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "lendo opes de `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, fuzzy, c-format
msgid "error creating `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, fuzzy, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: impossvel criar diretrio: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "impossvel criar %s: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "atualizao falhou: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "escrevendo certificado privado para `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: diretrio criado\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "banco de dados de confiabilidade: leitura falhou (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: impossvel criar diretrio: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "atualizao da chave secreta falhou: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "\t%lu chaves ignoradas\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr ""
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr ""
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, fuzzy, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4352,7 +4346,7 @@ msgstr "A chave expira em %s\n"
msgid "Signature expires at %s\n"
msgstr "Esta chave no protegida.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4596,7 +4590,7 @@ msgstr "impossvel criar %s: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOTA: chave secreta %08lX expirou %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr ""
@@ -5654,26 +5648,26 @@ msgstr "destinatrio annimo; tentando chave secreta %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "certo, ns somos o destinatrio annimo.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "codificao antiga do DEK no suportada\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, fuzzy, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algoritmo de proteo %d no suportado\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "NOTA: algoritmo de criptografia %d no encontrado nas preferncias\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOTA: chave secreta %08lX expirou %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
#, fuzzy
msgid "NOTE: key has been revoked"
msgstr "chave %08lX: a chave foi revogada!\n"
@@ -5843,12 +5837,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6382,7 +6376,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "linha %u muito longa ou sem LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "voc encontrou um bug ... (%s:%d)\n"
@@ -6415,10 +6409,6 @@ msgstr "habilitar depurao completa"
msgid "Please report bugs to "
msgstr "Por favor comunique bugs para <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-msgid ".\n"
-msgstr ""
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6449,47 +6439,52 @@ msgstr "%s: falha ao criar tabela de \"hash\": %s\n"
msgid "reading public key failed: %s\n"
msgstr "enumerao de blocos de chaves falhou: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "A gerao de chaves falhou: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6497,113 +6492,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "erro na criao da frase secreta: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "erro na leitura de `%s': %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: erro lendo registro livre: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "%lu chaves processadas\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "gerar um novo par de chaves"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "falha ao inicializar o banco de dados de confiabilidade: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "enumerao de blocos de chaves falhou: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "A gerao de chaves falhou: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "assinatura %s de: %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "nenhum dado OpenPGP vlido encontrado.\n"
@@ -6656,16 +6651,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6847,35 +6842,35 @@ msgstr ""
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "verso desconhecida"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "erro: impresso digital invlida\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "erro: impresso digital invlida\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7374,12 +7369,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Assinatura correta de \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " ou \""
diff --git a/po/ro.po b/po/ro.po
index a0e6f7731..ded423109 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2005-05-31 22:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -138,7 +138,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: am euat s creez hashtable: %s\n"
@@ -292,161 +292,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "Raportai bug-uri la <gnupg-bugs@gnu.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Folosire: gpg [opiuni] [fiiere] (-h pentru ajutor)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "NOT: nici un fiier opiuni implicit `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "fiier opiuni `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "citesc opiuni din `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "eroare la creearea `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "nu pot crea directorul `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "nu pot crea `%s': %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "eroare trimitere la `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "actualizarea a euat: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "scriu cheia secret n `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "director `%s' creat\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) a euat n %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: nu pot crea director: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "actualizarea secretului a euat: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: srit: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent nu este disponibil n aceast sesiune\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "variabila de mediu GPG_AGENT_INFO anormal\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4341,7 +4335,7 @@ msgstr "Cheia expir pe %s\n"
msgid "Signature expires at %s\n"
msgstr "Semntura expir pe %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4582,7 +4576,7 @@ msgstr "nu pot crea fiier de rezerv `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "NOT: copia de sigurana a cheii cardului salvat la `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "niciodat "
@@ -5618,28 +5612,28 @@ msgstr "destinator anonim; ncerc cheia secret %s ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "OK, noi suntem destinatarul anonim.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "vechea encodare a lui DEK nu este suportat\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "algoritm cifrare %d%s este necunoscut sau deactivat\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr ""
"AVERTISMENT: algoritm cifrare %s nu a fost gsit n preferinele "
"destinatarului\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "NOT: cheia secret %s a expirat la %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "NOT: cheia a fost revocat"
@@ -5804,12 +5798,12 @@ msgstr "nu pot evita cheie slab pentru cifru simetric; am ncercat %d ori!\n"
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6345,7 +6339,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "linia de intrare %u prea lung sau lipsete LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "ai gsit un bug ... (%s:%d)\n"
@@ -6378,11 +6372,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "Raportai bug-uri la <gnupg-bugs@gnu.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6413,47 +6402,52 @@ msgstr "am euat s stochez data crerii: %s\n"
msgid "reading public key failed: %s\n"
msgstr "citirea cheii publice a euat: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "rspunsul nu conine datele cheii publice\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "rspunsul nu conine modulul RSA\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "rspunsul nu conine exponentul public RSA\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "apelul PIN a returnat eroare: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minim este %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "verificarea CHV%d a euat: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "accesul la comenzile de administrare nu este configurat\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "eroare la recuperarea strii CHV de pe card\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "cardul este ncuiat permanent!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "%d ncercri PIN Admin rmase nainte de a ncuia cardul permanent\n"
@@ -6461,109 +6455,109 @@ msgstr "%d ncercri PIN Admin rmase nainte de a ncuia cardul permanent\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|PIN Admin"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|PIN Admin Nou"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|PIN Nou"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "eroare la obinere noului PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "eroare la citirea datelor aplicaiei\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "eroare la citirea amprentei DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "cheia exist deja\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "cheia existent va fi nlocuit\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "generez o nou cheie\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "timestamp-ul de creare lipsete\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "modulus-ul RSA lipsete sau nu are %d bii\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, fuzzy, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "exponentul public RSA lipsete sau are mai mult de %d bii\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "prime-ul RSA %s lipsete sau nu are %d bii\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "am euat s stochez cheia: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "v rugm ateptai ct vreme este creat noua cheie ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "generarea cheii a euat\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "generarea cheii este complet (%d secunde)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "structur invalid a cardului OpenPGP (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "semntur %s, algoritm rezumat %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "semnturi create pn acum: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||V rugm introducei PIN%%0A[semnturi fcute: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
"verificarea PIN-ului Admin este deocamdat interzis prin aceast comand\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "nu pot accesa %s - card OpenPGP invalid?\n"
@@ -6616,16 +6610,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6799,35 +6793,35 @@ msgstr "DSA necesit folosirea unui algoritm cu hash de 160 bii\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nu"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[nesetat()]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "Eroare: rspuns invalid.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "Eroare: rspuns invalid.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7324,12 +7318,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Semntur bun din \"%s\""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " aka \"%s\""
@@ -7686,6 +7680,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "algoritm rezumat %d nu este suportat\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problem cu agentul - deactivez folosirea agentului\n"
diff --git a/po/ru.po b/po/ru.po
index 9b761742f..316f01d8f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GnuPG 2.0.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-10-30 10:58+0200\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2006-11-07 19:31+0300\n"
"Last-Translator: Maxim Britov <maxim.britov@gmail.com>\n"
"Language-Team: Russian <gnupg-ru@gnupg.org>\n"
@@ -22,11 +22,15 @@ msgid "failed to acquire the pinentry lock: %s\n"
msgstr ""
#: agent/call-pinentry.c:390
-msgid "Please enter your PIN, so that the secret key can be unlocked for this session"
+msgid ""
+"Please enter your PIN, so that the secret key can be unlocked for this "
+"session"
msgstr "Введите PIN-код для получения доступа к закрытому ключу"
#: agent/call-pinentry.c:393
-msgid "Please enter your passphrase, so that the secret key can be unlocked for this session"
+msgid ""
+"Please enter your passphrase, so that the secret key can be unlocked for "
+"this session"
msgstr "Введите фразу-пароль для доступа к закрытому ключу"
#: agent/call-pinentry.c:458 agent/call-pinentry.c:470
@@ -70,8 +74,8 @@ msgid "can't create `%s': %s\n"
msgstr "не могу создать `%s': %s\n"
#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748
-#: g10/dearmor.c:62 g10/dearmor.c:111 g10/decrypt.c:70 g10/encode.c:193
-#: g10/encode.c:485 g10/gpg.c:1017 g10/import.c:195 g10/keygen.c:2555
+#: g10/dearmor.c:62 g10/dearmor.c:111 g10/decrypt.c:70 g10/encode.c:196
+#: g10/encode.c:488 g10/gpg.c:1017 g10/import.c:195 g10/keygen.c:2555
#: g10/keyring.c:1534 g10/openfile.c:188 g10/openfile.c:343
#: g10/plaintext.c:491 g10/sign.c:812 g10/sign.c:1007 g10/sign.c:1120
#: g10/sign.c:1272 g10/tdbdump.c:141 g10/tdbdump.c:149 g10/tdbio.c:542
@@ -118,10 +122,14 @@ msgstr "Введите фразу-пароль для ssh ключа%0A %c"
#: agent/command-ssh.c:2353
#, c-format
-msgid "Please enter a passphrase to protect the received secret key%%0A %s%%0Awithin gpg-agent's key storage"
-msgstr "Введите фразу-пароль для защиты принятого закрытого ключа%%0A %s%%0Aвнутри хранилища ключей gpg-agent"
+msgid ""
+"Please enter a passphrase to protect the received secret key%%0A %s%%"
+"0Awithin gpg-agent's key storage"
+msgstr ""
+"Введите фразу-пароль для защиты принятого закрытого ключа%%0A %s%%0Aвнутри "
+"хранилища ключей gpg-agent"
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "сбой создания потока из сокета: %s\n"
@@ -153,7 +161,7 @@ msgid "Please re-enter this passphrase"
msgstr "Повторно введите фразу-пароль:"
#: agent/genkey.c:132 agent/genkey.c:239 agent/protect-tool.c:1221
-#: tools/symcryptrun.c:484
+#: tools/symcryptrun.c:487
msgid "does not match - try again"
msgstr "не совпало, попробуйте еще раз"
@@ -180,7 +188,7 @@ msgstr "запуск в режиме демона (background)"
#: agent/gpg-agent.c:115 g10/gpg.c:465 g10/gpgv.c:71 kbx/kbxutil.c:82
#: scd/scdaemon.c:109 sm/gpgsm.c:335 tools/gpg-connect-agent.c:59
-#: tools/gpgconf.c:63 tools/symcryptrun.c:182
+#: tools/gpgconf.c:63 tools/symcryptrun.c:185
msgid "verbose"
msgstr "подробно"
@@ -197,7 +205,7 @@ msgstr "вывод результатов в sh-стиле"
msgid "csh-style command output"
msgstr "вывод результатов в csh-стиле"
-#: agent/gpg-agent.c:119 tools/symcryptrun.c:185
+#: agent/gpg-agent.c:119 tools/symcryptrun.c:188
msgid "|FILE|read options from FILE"
msgstr "|FILE|взять параметры из FILE"
@@ -210,7 +218,7 @@ msgid "do not grab keyboard and mouse"
msgstr "не перехватывать события мыши и клавиатуры"
#: agent/gpg-agent.c:126 scd/scdaemon.c:122 sm/gpgsm.c:338
-#: tools/symcryptrun.c:184
+#: tools/symcryptrun.c:187
msgid "use a log file for the server"
msgstr "использовать файл журнала для сервера"
@@ -262,17 +270,17 @@ msgstr "разрешить эмуляцию ssh-агента"
msgid "|FILE|write environment settings also to FILE"
msgstr "|FILE|сохранить состояние в файл"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:222
+#: tools/gpgconf.c:86 tools/symcryptrun.c:225
msgid "Please report bugs to <"
msgstr "О найденных ошибках сообщайте <"
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Использование: gpg-agent [параметры] (-h для подсказки)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
@@ -280,136 +288,136 @@ msgstr ""
"Синтаксис: gpg-agent [параметры] [команда [аргументы]]\n"
"Управление закрытыми ключами для GnuPG\n"
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr "выход за безопасный предел памяти при распределении %lu байтов"
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr "выход за границы при распределении %lu байтов"
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr "запрошен недупустимый уровень отладки `%s'\n"
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
-#: tools/symcryptrun.c:1053
+#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr "libcrypt слишком старой версии (требуется %s, обнаружено %s)\n"
-#: agent/gpg-agent.c:601 g10/gpg.c:2008 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "ЗАМЕЧАНИЕ: файл конфигурации `%s' не обнаружен\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1120 g10/gpg.c:2012
-#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:986
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
+#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "файл конфигурации `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2019 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "параметры конфигурации из файла `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "ошибка создания `%s': %s\n"
-#: agent/gpg-agent.c:1170 agent/gpg-agent.c:1273 agent/gpg-agent.c:1277
-#: agent/gpg-agent.c:1313 agent/gpg-agent.c:1317 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "не могу создать каталог `%s': %s\n"
-#: agent/gpg-agent.c:1184 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr "имя сокета слишком длинное\n"
-#: agent/gpg-agent.c:1210 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, c-format
msgid "can't create socket: %s\n"
msgstr "не могу создать сокет: %s\n"
-#: agent/gpg-agent.c:1239 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "ошибка связывния сокета с `%s': %s\n"
-#: agent/gpg-agent.c:1247 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, c-format
msgid "listen() failed: %s\n"
msgstr ""
-#: agent/gpg-agent.c:1253 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, c-format
msgid "listening on socket `%s'\n"
msgstr "слушаем сокет `%s'\n"
-#: agent/gpg-agent.c:1281 agent/gpg-agent.c:1323 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "создан каталог `%s'\n"
-#: agent/gpg-agent.c:1329
+#: agent/gpg-agent.c:1369
#, c-format
msgid "stat() failed for `%s': %s\n"
msgstr ""
-#: agent/gpg-agent.c:1333
+#: agent/gpg-agent.c:1373
#, c-format
msgid "can't use `%s' as home directory\n"
msgstr "невозможно использовать `%s' как домашний каталог\n"
-#: agent/gpg-agent.c:1432
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1437
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1451
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1456
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1550 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr ""
-#: agent/gpg-agent.c:1634 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, c-format
msgid "%s %s stopped\n"
msgstr "%s %s: остановлен\n"
-#: agent/gpg-agent.c:1655
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr "нет gpg-agent доступого для данной сессии\n"
-#: agent/gpg-agent.c:1665 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "неправильная переменная окружения GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1677 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -417,7 +425,8 @@ msgstr "протокол gpg-agent версии %d не поддерживает
#: agent/preset-passphrase.c:100
msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
-msgstr "Использование: gpg-preset-passphrase [параметры] KEYGRIP (-h для подсказки)\n"
+msgstr ""
+"Использование: gpg-preset-passphrase [параметры] KEYGRIP (-h для подсказки)\n"
#: agent/preset-passphrase.c:103
msgid ""
@@ -432,8 +441,9 @@ msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
msgstr "Использование: gpg-protect-tool [параметры] (-h для подсказки)\n"
#: agent/protect-tool.c:148
+#, fuzzy
msgid ""
-"Syntax: gpg-protect-tool [options] [args]]\n"
+"Syntax: gpg-protect-tool [options] [args]\n"
"Secret key maintenance tool\n"
msgstr ""
"Синтаксис: gpg-protect-tool [параметры] [аргументы]\n"
@@ -448,7 +458,9 @@ msgid "Please enter the passphrase to protect the new PKCS#12 object."
msgstr "Введите фразу-пароль для защиты нового PKCS#12 объекта."
#: agent/protect-tool.c:1212
-msgid "Please enter the passphrase to protect the imported object within the GnuPG system."
+msgid ""
+"Please enter the passphrase to protect the imported object within the GnuPG "
+"system."
msgstr "Введите фразу-пароль для защиты импортированных в GnuPG объектов."
#: agent/protect-tool.c:1217
@@ -459,16 +471,16 @@ msgstr ""
"Введите фразу-пароль или PIN\n"
"необходимые для выполения данной операции."
-#: agent/protect-tool.c:1222 tools/symcryptrun.c:485
+#: agent/protect-tool.c:1222 tools/symcryptrun.c:488
msgid "Passphrase:"
msgstr "Фраза-пароль:"
-#: agent/protect-tool.c:1235 tools/symcryptrun.c:498
+#: agent/protect-tool.c:1235 tools/symcryptrun.c:501
#, c-format
msgid "error while asking for the passphrase: %s\n"
msgstr "ошибка запроса ввода фразы-пароля: %s\n"
-#: agent/protect-tool.c:1238 tools/symcryptrun.c:502
+#: agent/protect-tool.c:1238 tools/symcryptrun.c:505
msgid "cancelled\n"
msgstr "отменено\n"
@@ -507,7 +519,7 @@ msgstr ""
msgid "error reading `%s', line %d: %s\n"
msgstr "ошибка чтения `%s', строка %d: %s\n"
-#: agent/trustlist.c:356 agent/trustlist.c:395
+#: agent/trustlist.c:355 agent/trustlist.c:394
msgid "error reading list of trusted root certificates\n"
msgstr "ошибка чтения списка доверяемых корневых сертификатов\n"
@@ -520,15 +532,19 @@ msgstr "ошибка чтения списка доверяемых корнев
#. second "%s" gets replaced by a hexdecimal
#. fingerprint string whereas the first one receives
#. the name as store in the certificate.
-#: agent/trustlist.c:471
+#: agent/trustlist.c:470
#, c-format
-msgid "Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the fingerprint:%%0A %s"
-msgstr "Проверьте, что сертификат идентифицированный как:%%0A \"%s\"%%0Aимеет отпечаток:%%0A %s"
+msgid ""
+"Please verify that the certificate identified as:%%0A \"%s\"%%0Ahas the "
+"fingerprint:%%0A %s"
+msgstr ""
+"Проверьте, что сертификат идентифицированный как:%%0A \"%s\"%%0Aимеет "
+"отпечаток:%%0A %s"
#. TRANSLATORS: "Correct" is the label of a button and intended to
#. be hit if the fingerprint matches the one of the CA. The other
#. button is "the default "Cancel" of the Pinentry.
-#: agent/trustlist.c:480
+#: agent/trustlist.c:479
msgid "Correct"
msgstr "Подтверждаю"
@@ -540,16 +556,20 @@ 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:500
+#: agent/trustlist.c:499
#, c-format
-msgid "Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user certificates?"
-msgstr "Действительно абсолютно доверять%%0A \"%s\"%%0Aкорректно подписанным сертификатам пользователя?"
+msgid ""
+"Do you ultimately trust%%0A \"%s\"%%0Ato correctly certify user "
+"certificates?"
+msgstr ""
+"Действительно абсолютно доверять%%0A \"%s\"%%0Aкорректно подписанным "
+"сертификатам пользователя?"
-#: agent/trustlist.c:506
+#: agent/trustlist.c:505
msgid "Yes"
msgstr "Да"
-#: agent/trustlist.c:506
+#: agent/trustlist.c:505
msgid "No"
msgstr "Нет"
@@ -756,12 +776,19 @@ msgid "invalid armor: line longer than %d characters\n"
msgstr "неправильный ASCII формат: строка длиннее %d символов\n"
#: g10/armor.c:1167
-msgid "quoted printable character in armor - probably a buggy MTA has been used\n"
-msgstr "символы quoted printable в кодировке ASCII - вероятно использовался плохой MTA\n"
+msgid ""
+"quoted printable character in armor - probably a buggy MTA has been used\n"
+msgstr ""
+"символы quoted printable в кодировке ASCII - вероятно использовался плохой "
+"MTA\n"
#: g10/build-packet.c:978
-msgid "a notation name must have only printable characters or spaces, and end with an '='\n"
-msgstr "имя примечания должно содеражать только печатные символы и пробелы, и '=' на конце\n"
+msgid ""
+"a notation name must have only printable characters or spaces, and end with "
+"an '='\n"
+msgstr ""
+"имя примечания должно содеражать только печатные символы и пробелы, и '=' на "
+"конце\n"
#: g10/build-packet.c:990
msgid "a user notation name must contain the '@' character\n"
@@ -1075,11 +1102,11 @@ msgstr "Команды администрирования не разрешен
msgid "Invalid command (try \"help\")\n"
msgstr "Недопустимая команда (список команд: \"help\")\n"
-#: g10/decrypt.c:107 g10/encode.c:850
+#: g10/decrypt.c:107 g10/encode.c:869
msgid "--output doesn't work for this command\n"
msgstr "--output не работает для данной команды\n"
-#: g10/decrypt.c:162 g10/gpg.c:3821 g10/keyring.c:378 g10/keyring.c:665
+#: g10/decrypt.c:162 g10/gpg.c:3820 g10/keyring.c:378 g10/keyring.c:665
#, c-format
msgid "can't open `%s'\n"
msgstr "не могу открыть `%s'\n"
@@ -1128,66 +1155,73 @@ msgstr "имеется секретный ключ для открытого к
#: g10/delkey.c:208
msgid "use option \"--delete-secret-keys\" to delete it first.\n"
-msgstr "сначала воспользуйтесь \"--delete-secret-keys\" для удаления закрытого ключа.\n"
+msgstr ""
+"сначала воспользуйтесь \"--delete-secret-keys\" для удаления закрытого "
+"ключа.\n"
-#: g10/encode.c:222 g10/sign.c:1291
+#: g10/encode.c:225 g10/sign.c:1291
#, c-format
msgid "error creating passphrase: %s\n"
msgstr "ошибка создания фразы-пароля: %s\n"
-#: g10/encode.c:227
+#: g10/encode.c:230
msgid "can't use a symmetric ESK packet due to the S2K mode\n"
msgstr "не могу использовать симметричный пакет ESK в S2K режиме\n"
-#: g10/encode.c:241
+#: g10/encode.c:244
#, c-format
msgid "using cipher %s\n"
msgstr "использутся алгоритм шифрования %s\n"
-#: g10/encode.c:251 g10/encode.c:547
+#: g10/encode.c:254 g10/encode.c:558
#, c-format
msgid "`%s' already compressed\n"
msgstr "`%s' уже сжат\n"
-#: g10/encode.c:302 g10/encode.c:595 g10/sign.c:596
+#: g10/encode.c:305 g10/encode.c:606 g10/sign.c:596
#, c-format
msgid "WARNING: `%s' is an empty file\n"
msgstr "ВНИМАНИЕ: `%s' пустой файл\n"
-#: g10/encode.c:466
+#: g10/encode.c:469
msgid "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
msgstr "в режиме --pgp2 ключ RSA для ширования должен быть не более 2048 бит\n"
-#: g10/encode.c:491
+#: g10/encode.c:494
#, c-format
msgid "reading from `%s'\n"
msgstr "читаю из `%s'\n"
-#: g10/encode.c:519
-msgid "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
+#: g10/encode.c:522
+msgid ""
+"unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
msgstr "не могу использовать шифр IDEA для всех ключей.\n"
-#: g10/encode.c:529
+#: g10/encode.c:540
#, c-format
-msgid "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
-msgstr "ВНИМАНИЕ: использование шифра %s (%d) противоречит предпочтениям получателя\n"
+msgid ""
+"WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
+msgstr ""
+"ВНИМАНИЕ: использование шифра %s (%d) противоречит предпочтениям получателя\n"
-#: g10/encode.c:639 g10/sign.c:968
+#: g10/encode.c:650 g10/sign.c:968
#, c-format
-msgid "WARNING: forcing compression algorithm %s (%d) violates recipient preferences\n"
+msgid ""
+"WARNING: forcing compression algorithm %s (%d) violates recipient "
+"preferences\n"
msgstr "ВНИМАНИЕ: сжатие алгоритмом %s (%d) нарушает предпочтения получателя\n"
-#: g10/encode.c:725
+#: g10/encode.c:744
#, c-format
msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
msgstr "использование шифра %s (%d) противоречит предпочтениям получателя\n"
-#: g10/encode.c:795 g10/pkclist.c:803 g10/pkclist.c:851
+#: g10/encode.c:814 g10/pkclist.c:803 g10/pkclist.c:851
#, c-format
msgid "you may not use %s while in %s mode\n"
msgstr "Нельзя использовать %s в режиме %s\n"
-#: g10/encode.c:822
+#: g10/encode.c:841
#, c-format
msgid "%s/%s encrypted for: \"%s\"\n"
msgstr "%s/%s зашифровано для: \"%s\"\n"
@@ -1203,8 +1237,10 @@ msgid "encrypted with unknown algorithm %d\n"
msgstr "зашифровано неизвестным алгоритмом %d\n"
#: g10/encr-data.c:110 sm/decrypt.c:128
-msgid "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
-msgstr "ВНИМАНИЕ: сообщение было зашифровано слабым ключом симметричного шифра.\n"
+msgid ""
+"WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
+msgstr ""
+"ВНИМАНИЕ: сообщение было зашифровано слабым ключом симметричного шифра.\n"
#: g10/encr-data.c:122
msgid "problem handling encrypted packet\n"
@@ -1215,12 +1251,15 @@ msgid "no remote program execution supported\n"
msgstr "удаленный запуск программы не поддерживается\n"
#: g10/exec.c:315
-msgid "external program calls are disabled due to unsafe options file permissions\n"
+msgid ""
+"external program calls are disabled due to unsafe options file permissions\n"
msgstr "вызов внешних программ отключен из-за небезопасных прав доступа\n"
#: g10/exec.c:345
msgid "this platform requires temporary files when calling external programs\n"
-msgstr "на данной платформе требуется использование временных файлов при вызове внешних программ\n"
+msgstr ""
+"на данной платформе требуется использование временных файлов при вызове "
+"внешних программ\n"
#: g10/exec.c:423
#, c-format
@@ -1342,7 +1381,9 @@ msgstr "автоматически полученный `%s' via %s\n"
#: g10/getkey.c:1831
#, c-format
msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
-msgstr "Дефектный ключ %s признан пригодным согласно параметра --allow-non-selfsigned-uid\n"
+msgstr ""
+"Дефектный ключ %s признан пригодным согласно параметра --allow-non-"
+"selfsigned-uid\n"
#: g10/getkey.c:2385 g10/keyedit.c:3710
#, c-format
@@ -1488,7 +1529,7 @@ msgid "|algo [files]|print message digests"
msgstr "|algo [файлы]|вывести хэши файлов"
#: g10/gpg.c:428 g10/gpgv.c:69 kbx/kbxutil.c:77 sm/gpgsm.c:278
-#: tools/gpg-connect-agent.c:57 tools/gpgconf.c:60 tools/symcryptrun.c:175
+#: tools/gpg-connect-agent.c:57 tools/gpgconf.c:60 tools/symcryptrun.c:178
msgid ""
"@\n"
"Options:\n"
@@ -1654,32 +1695,43 @@ msgstr "ВНИМАНИЕ: небезопасные права доступа у
#: g10/gpg.c:1291
#, c-format
msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасный владелец каталога содержащего домашний каталог `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасный владелец каталога содержащего домашний каталог `%s'\n"
#: g10/gpg.c:1294
#, c-format
-msgid "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасный владелец каталога содержащего файл конфигурации `%s'\n"
+msgid ""
+"WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасный владелец каталога содержащего файл конфигурации `%s'\n"
#: g10/gpg.c:1297
#, c-format
msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасный владелец каталога содержащего модуль расширения `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасный владелец каталога содержащего модуль расширения `%s'\n"
#: g10/gpg.c:1303
#, c-format
msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасные права доступа у каталога содержащего домашний каталог `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасные права доступа у каталога содержащего домашний каталог "
+"`%s'\n"
#: g10/gpg.c:1306
#, c-format
-msgid "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасные права доступа у каталога содержащего файл конфигурации `%s'\n"
+msgid ""
+"WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасные права доступа у каталога содержащего файл "
+"конфигурации `%s'\n"
#: g10/gpg.c:1309
#, c-format
msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
-msgstr "ВНИМАНИЕ: небезопасные права доступа у каталогу содержащего файл модуля расширения `%s'\n"
+msgstr ""
+"ВНИМАНИЕ: небезопасные права доступа у каталогу содержащего файл модуля "
+"расширения `%s'\n"
#: g10/gpg.c:1452
#, c-format
@@ -1704,7 +1756,8 @@ msgstr ""
#: g10/gpg.c:1555
msgid "show user-supplied notations during signature listings"
-msgstr "показывать добавленные пользователем примечания при распечатке подписей"
+msgstr ""
+"показывать добавленные пользователем примечания при распечатке подписей"
#: g10/gpg.c:1557
msgid "show preferred keyserver URLs during signature listings"
@@ -1730,395 +1783,400 @@ msgstr "печатать имя таблиц ключей в списке клю
msgid "show expiration dates during signature listings"
msgstr "печатать даты истечения в списке подписей"
-#: g10/gpg.c:1966
+#: g10/gpg.c:1965
#, c-format
msgid "NOTE: old default options file `%s' ignored\n"
msgstr "ЗАМЕЧАНИЕ: старый файл конфигурации по умолчанию `%s' проигнорирован\n"
-#: g10/gpg.c:2212 g10/gpg.c:2855 g10/gpg.c:2867
+#: g10/gpg.c:2211 g10/gpg.c:2854 g10/gpg.c:2866
#, c-format
msgid "NOTE: %s is not for normal use!\n"
msgstr "ЗАМЕЧАНИЕ: %s не предназначен для обычного применения!\n"
-#: g10/gpg.c:2225
+#: g10/gpg.c:2224
#, c-format
msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
-msgstr "расширение шифра `%s' не загружено вследствие небезопасных прав доступа\n"
+msgstr ""
+"расширение шифра `%s' не загружено вследствие небезопасных прав доступа\n"
-#: g10/gpg.c:2380 g10/gpg.c:2392
+#: g10/gpg.c:2379 g10/gpg.c:2391
#, c-format
msgid "`%s' is not a valid signature expiration\n"
msgstr "`%s' недопустимый срок действия подписи\n"
-#: g10/gpg.c:2473
+#: g10/gpg.c:2472
#, c-format
msgid "`%s' is not a valid character set\n"
msgstr "`%s' недопустимая таблица символов\n"
-#: g10/gpg.c:2496 g10/gpg.c:2689 g10/keyedit.c:4067
+#: g10/gpg.c:2495 g10/gpg.c:2688 g10/keyedit.c:4067
msgid "could not parse keyserver URL\n"
msgstr "не могу проанализировать URL сервера ключей\n"
-#: g10/gpg.c:2508
+#: g10/gpg.c:2507
#, c-format
msgid "%s:%d: invalid keyserver options\n"
msgstr "%s:%d: недопустимые параметры для сервера ключей\n"
-#: g10/gpg.c:2511
+#: g10/gpg.c:2510
msgid "invalid keyserver options\n"
msgstr "недопустимые параметры для сервера ключей\n"
-#: g10/gpg.c:2518
+#: g10/gpg.c:2517
#, c-format
msgid "%s:%d: invalid import options\n"
msgstr "%s:%d: недопустимые параметры импорта\n"
-#: g10/gpg.c:2521
+#: g10/gpg.c:2520
msgid "invalid import options\n"
msgstr "недопустимые параметры импорта\n"
-#: g10/gpg.c:2528
+#: g10/gpg.c:2527
#, c-format
msgid "%s:%d: invalid export options\n"
msgstr "%s:%d: недопустимые параметры экспорта\n"
-#: g10/gpg.c:2531
+#: g10/gpg.c:2530
msgid "invalid export options\n"
msgstr "недопустимые параметры экспорта\n"
-#: g10/gpg.c:2538
+#: g10/gpg.c:2537
#, c-format
msgid "%s:%d: invalid list options\n"
msgstr "%s:%d: недопустимый список параметров\n"
-#: g10/gpg.c:2541
+#: g10/gpg.c:2540
msgid "invalid list options\n"
msgstr "недопустимый список параметров\n"
-#: g10/gpg.c:2549
+#: g10/gpg.c:2548
msgid "display photo IDs during signature verification"
msgstr "показывать Фото ID при проверке подписи"
-#: g10/gpg.c:2551
+#: g10/gpg.c:2550
msgid "show policy URLs during signature verification"
msgstr "показывать ссылку на политики при проверке подписи"
-#: g10/gpg.c:2553
+#: g10/gpg.c:2552
msgid "show all notations during signature verification"
msgstr "показывать все примечания в процессе проверки подписей"
-#: g10/gpg.c:2555
+#: g10/gpg.c:2554
msgid "show IETF standard notations during signature verification"
msgstr ""
-#: g10/gpg.c:2559
+#: g10/gpg.c:2558
msgid "show user-supplied notations during signature verification"
msgstr "показывать добавленные пользователем примечания при проверке подписей"
-#: g10/gpg.c:2561
+#: g10/gpg.c:2560
msgid "show preferred keyserver URLs during signature verification"
msgstr "печатать предпочитаемые серверы ключей при проверке подписей"
-#: g10/gpg.c:2563
+#: g10/gpg.c:2562
msgid "show user ID validity during signature verification"
msgstr "печатать действительность UserID при проверке подписей"
-#: g10/gpg.c:2565
+#: g10/gpg.c:2564
msgid "show revoked and expired user IDs in signature verification"
msgstr "показывать отозванные и просроченные User ID при проверке подписей"
-#: g10/gpg.c:2567
+#: g10/gpg.c:2566
msgid "validate signatures with PKA data"
msgstr ""
-#: g10/gpg.c:2569
+#: g10/gpg.c:2568
msgid "elevate the trust of signatures with valid PKA data"
msgstr ""
-#: g10/gpg.c:2576
+#: g10/gpg.c:2575
#, c-format
msgid "%s:%d: invalid verify options\n"
msgstr "%s:%d: недопустимые параметры проверки \n"
-#: g10/gpg.c:2579
+#: g10/gpg.c:2578
msgid "invalid verify options\n"
msgstr "недопустимые параметры проверки\n"
-#: g10/gpg.c:2586
+#: g10/gpg.c:2585
#, c-format
msgid "unable to set exec-path to %s\n"
msgstr "не могу определить путь запуска для %s\n"
-#: g10/gpg.c:2760
+#: g10/gpg.c:2759
#, c-format
msgid "%s:%d: invalid auto-key-locate list\n"
msgstr "%s:%d: недопустимый список auto-key-locate\n"
-#: g10/gpg.c:2763
+#: g10/gpg.c:2762
msgid "invalid auto-key-locate list\n"
msgstr "недопустимый список auto-key-locate\n"
-#: g10/gpg.c:2844 sm/gpgsm.c:1231
+#: g10/gpg.c:2843 sm/gpgsm.c:1231
msgid "WARNING: program may create a core file!\n"
msgstr "ВНИМАНИЕ: возможно создание файла дампа памяти программы!\n"
-#: g10/gpg.c:2848
+#: g10/gpg.c:2847
#, c-format
msgid "WARNING: %s overrides %s\n"
msgstr "ВНИМАНИЕ: %s заместит %s\n"
-#: g10/gpg.c:2857
+#: g10/gpg.c:2856
#, c-format
msgid "%s not allowed with %s!\n"
msgstr "%s не допускается использовать с %s!\n"
-#: g10/gpg.c:2860
+#: g10/gpg.c:2859
#, c-format
msgid "%s makes no sense with %s!\n"
msgstr "%s не имеет смысла совместно с %s!\n"
-#: g10/gpg.c:2875
+#: g10/gpg.c:2874
#, c-format
msgid "will not run with insecure memory due to %s\n"
msgstr "не будет работать с небезопасной памятью из-за %s\n"
-#: g10/gpg.c:2889
+#: g10/gpg.c:2888
msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
-msgstr "можно сделать только отделенную или прозрачную подпись в режиме --pgp2\n"
+msgstr ""
+"можно сделать только отделенную или прозрачную подпись в режиме --pgp2\n"
-#: g10/gpg.c:2895
+#: g10/gpg.c:2894
msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
msgstr "Нельзя одновременно подписать и зашифровать в режиме --pgp2\n"
-#: g10/gpg.c:2901
+#: g10/gpg.c:2900
msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
msgstr "Следует использовать файлы (а не каналы (pipe)) в режиме --pgp2.\n"
-#: g10/gpg.c:2914
+#: g10/gpg.c:2913
msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
msgstr "для зашифрования сообщения в режиме --pgp2 требуется шифр IDEA\n"
-#: g10/gpg.c:2980 g10/gpg.c:3004 sm/gpgsm.c:1287
+#: g10/gpg.c:2979 g10/gpg.c:3003 sm/gpgsm.c:1287
msgid "selected cipher algorithm is invalid\n"
msgstr "выбран неверный алгоритм шифрования\n"
-#: g10/gpg.c:2986 g10/gpg.c:3010 sm/gpgsm.c:1295
+#: g10/gpg.c:2985 g10/gpg.c:3009 sm/gpgsm.c:1295
msgid "selected digest algorithm is invalid\n"
msgstr "выбрана неверная хэш-функция\n"
-#: g10/gpg.c:2992
+#: g10/gpg.c:2991
msgid "selected compression algorithm is invalid\n"
msgstr "выбран неверный алгоритм сжатия\n"
-#: g10/gpg.c:2998
+#: g10/gpg.c:2997
msgid "selected certification digest algorithm is invalid\n"
msgstr "выбрана неверная хэш-функция для сертификации\n"
-#: g10/gpg.c:3013
+#: g10/gpg.c:3012
msgid "completes-needed must be greater than 0\n"
msgstr "completes-needed должен быть больше 0\n"
-#: g10/gpg.c:3015
+#: g10/gpg.c:3014
msgid "marginals-needed must be greater than 1\n"
msgstr "marginals-needed должен быть больше 1\n"
-#: g10/gpg.c:3017
+#: g10/gpg.c:3016
msgid "max-cert-depth must be in the range from 1 to 255\n"
msgstr "max-cert-depth должен быть в диапазоне от 1 до 255\n"
-#: g10/gpg.c:3019
+#: g10/gpg.c:3018
msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
msgstr "недопустимый default-cert-level; должен быть 0, 1, 2 или 3\n"
-#: g10/gpg.c:3021
+#: g10/gpg.c:3020
msgid "invalid min-cert-level; must be 1, 2, or 3\n"
msgstr "недопустимый min-cert-level; должен быть 0, 1, 2 или 3\n"
-#: g10/gpg.c:3024
+#: g10/gpg.c:3023
msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
msgstr "ЗАМЕЧАНИЕ: простой режим S2K (0) строго не рекомендуется\n"
-#: g10/gpg.c:3028
+#: g10/gpg.c:3027
msgid "invalid S2K mode; must be 0, 1 or 3\n"
msgstr "недопустимый режим S2K; должно быть 0, 1 или 3\n"
-#: g10/gpg.c:3035
+#: g10/gpg.c:3034
msgid "invalid default preferences\n"
msgstr "недопустимые предпочтения по умолчанию\n"
-#: g10/gpg.c:3044
+#: g10/gpg.c:3043
msgid "invalid personal cipher preferences\n"
msgstr "недопустимые персональные предпочтения шифра\n"
-#: g10/gpg.c:3048
+#: g10/gpg.c:3047
msgid "invalid personal digest preferences\n"
msgstr "недопустимые персональные предпочтения хэш-функции\n"
-#: g10/gpg.c:3052
+#: g10/gpg.c:3051
msgid "invalid personal compress preferences\n"
msgstr "недопустимые персональные предпочтения алгоритмов сжатия\n"
-#: g10/gpg.c:3085
+#: g10/gpg.c:3084
#, c-format
msgid "%s does not yet work with %s\n"
msgstr "%s пока не работает совместно с %s\n"
-#: g10/gpg.c:3132
+#: g10/gpg.c:3131
#, c-format
msgid "you may not use cipher algorithm `%s' while in %s mode\n"
msgstr "нельзя использовать шифрование `%s' в режиме %s\n"
-#: g10/gpg.c:3137
+#: g10/gpg.c:3136
#, c-format
msgid "you may not use digest algorithm `%s' while in %s mode\n"
msgstr "нельзя использовать хэш-функцию `%s' в режиме %s\n"
-#: g10/gpg.c:3142
+#: g10/gpg.c:3141
#, c-format
msgid "you may not use compression algorithm `%s' while in %s mode\n"
msgstr "нельзя использовать сжатие `%s' в режиме %s\n"
-#: g10/gpg.c:3234
+#: g10/gpg.c:3233
#, c-format
msgid "failed to initialize the TrustDB: %s\n"
msgstr "сбой инициализации таблицы доверий: %s\n"
-#: g10/gpg.c:3245
+#: g10/gpg.c:3244
msgid "WARNING: recipients (-r) given without using public key encryption\n"
-msgstr "ВНИМАНИЕ: получатели (-r) заданы без использования шифрования с открытым ключом\n"
+msgstr ""
+"ВНИМАНИЕ: получатели (-r) заданы без использования шифрования с открытым "
+"ключом\n"
-#: g10/gpg.c:3256
+#: g10/gpg.c:3255
msgid "--store [filename]"
msgstr "--store [файл]"
-#: g10/gpg.c:3263
+#: g10/gpg.c:3262
msgid "--symmetric [filename]"
msgstr "--symmetric [файл]"
-#: g10/gpg.c:3265
+#: g10/gpg.c:3264
#, c-format
msgid "symmetric encryption of `%s' failed: %s\n"
msgstr "симметричное шифрование `%s' не удалось: %s\n"
-#: g10/gpg.c:3275
+#: g10/gpg.c:3274
msgid "--encrypt [filename]"
msgstr "--encrypt [файл]"
-#: g10/gpg.c:3288
+#: g10/gpg.c:3287
msgid "--symmetric --encrypt [filename]"
msgstr "--symmetric --encrypt [файл]"
-#: g10/gpg.c:3290
+#: g10/gpg.c:3289
msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
msgstr "нельзя использовать --symmetric --encrypt совместно с --s2k-mode 0\n"
-#: g10/gpg.c:3293
+#: g10/gpg.c:3292
#, c-format
msgid "you cannot use --symmetric --encrypt while in %s mode\n"
msgstr "невозможно использовать --symmetric --encrypt в режиме %s\n"
-#: g10/gpg.c:3311
+#: g10/gpg.c:3310
msgid "--sign [filename]"
msgstr "--sign [файл]"
-#: g10/gpg.c:3324
+#: g10/gpg.c:3323
msgid "--sign --encrypt [filename]"
msgstr "--sign --encrypt [файл]"
-#: g10/gpg.c:3339
+#: g10/gpg.c:3338
msgid "--symmetric --sign --encrypt [filename]"
msgstr "--symmetric --sign --encrypt [файл]"
-#: g10/gpg.c:3341
+#: g10/gpg.c:3340
msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
-msgstr "нельзя использовать --symmetric --sign --encrypt совместно с --s2k-mode 0\n"
+msgstr ""
+"нельзя использовать --symmetric --sign --encrypt совместно с --s2k-mode 0\n"
-#: g10/gpg.c:3344
+#: g10/gpg.c:3343
#, c-format
msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
msgstr "невозможно использовать --symmetric --sign --encrypt в режиме %s\n"
-#: g10/gpg.c:3364
+#: g10/gpg.c:3363
msgid "--sign --symmetric [filename]"
msgstr "--sign --symmetric [файл]"
-#: g10/gpg.c:3373
+#: g10/gpg.c:3372
msgid "--clearsign [filename]"
msgstr "--clearsign [файл]"
-#: g10/gpg.c:3398
+#: g10/gpg.c:3397
msgid "--decrypt [filename]"
msgstr "--decrypt [файл]"
-#: g10/gpg.c:3406
+#: g10/gpg.c:3405
msgid "--sign-key user-id"
msgstr "--sign-key user-id"
-#: g10/gpg.c:3410
+#: g10/gpg.c:3409
msgid "--lsign-key user-id"
msgstr "--lsign-key user-id"
-#: g10/gpg.c:3431
+#: g10/gpg.c:3430
msgid "--edit-key user-id [commands]"
msgstr "--edit-key user-id [команды]"
-#: g10/gpg.c:3516
+#: g10/gpg.c:3515
#, c-format
msgid "keyserver send failed: %s\n"
msgstr "сбой при отправке на сервер ключей: %s\n"
-#: g10/gpg.c:3518
+#: g10/gpg.c:3517
#, c-format
msgid "keyserver receive failed: %s\n"
msgstr "сбой при получении с сервера ключей: %s\n"
-#: g10/gpg.c:3520
+#: g10/gpg.c:3519
#, c-format
msgid "key export failed: %s\n"
msgstr "сбой при экспорте ключа: %s\n"
-#: g10/gpg.c:3531
+#: g10/gpg.c:3530
#, c-format
msgid "keyserver search failed: %s\n"
msgstr "сбой при поиске на сервере ключей: %s\n"
-#: g10/gpg.c:3541
+#: g10/gpg.c:3540
#, c-format
msgid "keyserver refresh failed: %s\n"
msgstr "сбой при обновлении с сервера ключей: %s\n"
-#: g10/gpg.c:3592
+#: g10/gpg.c:3591
#, c-format
msgid "dearmoring failed: %s\n"
msgstr "ошибка преобразования из ASCII формата: %s\n"
-#: g10/gpg.c:3600
+#: g10/gpg.c:3599
#, c-format
msgid "enarmoring failed: %s\n"
msgstr "ошибка преобразования в ASCII формат: %s\n"
-#: g10/gpg.c:3690
+#: g10/gpg.c:3689
#, c-format
msgid "invalid hash algorithm `%s'\n"
msgstr "недопустимая хэш-функция `%s'\n"
-#: g10/gpg.c:3807
+#: g10/gpg.c:3806
msgid "[filename]"
msgstr "[файл]"
-#: g10/gpg.c:3811
+#: g10/gpg.c:3810
msgid "Go ahead and type your message ...\n"
msgstr "Набирайте Ваше сообщение ...\n"
-#: g10/gpg.c:4122
+#: g10/gpg.c:4121
msgid "the given certification policy URL is invalid\n"
msgstr "заданный URL политики сертификации неверен\n"
-#: g10/gpg.c:4124
+#: g10/gpg.c:4123
msgid "the given signature policy URL is invalid\n"
msgstr "заданный URL политики подписи неверен\n"
-#: g10/gpg.c:4157
+#: g10/gpg.c:4156
msgid "the given preferred keyserver URL is invalid\n"
msgstr "заданный URL предпочитаемого сервера ключей неправилен\n"
@@ -2173,7 +2231,8 @@ msgid "If you want to use this untrusted key anyway, answer \"yes\"."
msgstr "Если хотите использовать данный недоверяемый ключ - ответьте \"yes\"."
#: g10/helptext.c:68
-msgid "Enter the user ID of the addressee to whom you want to send the message."
+msgid ""
+"Enter the user ID of the addressee to whom you want to send the message."
msgstr "Введите User ID адресата, которому хотите отправить сообщение."
#: g10/helptext.c:72
@@ -2206,7 +2265,8 @@ msgid ""
"encryption. This algorithm should only be used in certain domains.\n"
"Please consult your security expert first."
msgstr ""
-"Обычно не рекомендуется использовать один ключ и для подписи, и для шифрования.\n"
+"Обычно не рекомендуется использовать один ключ и для подписи, и для "
+"шифрования.\n"
"Данный алгоритм следует использовтаь только в некоторых случаях.\n"
"Проконсультируйтесь с Вашим экспертом по безопасности перед тем,\n"
"как использовать данный ключ."
@@ -2268,32 +2328,43 @@ msgid ""
"belongs to the person named in the user ID. It is useful for others to\n"
"know how carefully you verified this.\n"
"\n"
-"\"0\" means you make no particular claim as to how carefully you verified the\n"
+"\"0\" means you make no particular claim as to how carefully you verified "
+"the\n"
" key.\n"
"\n"
"\"1\" means you believe the key is owned by the person who claims to own it\n"
-" but you could not, or did not verify the key at all. This is useful for\n"
-" a \"persona\" verification, where you sign the key of a pseudonymous user.\n"
+" but you could not, or did not verify the key at all. This is useful "
+"for\n"
+" a \"persona\" verification, where you sign the key of a pseudonymous "
+"user.\n"
"\n"
-"\"2\" means you did casual verification of the key. For example, this could\n"
-" mean that you verified the key fingerprint and checked the user ID on the\n"
+"\"2\" means you did casual verification of the key. For example, this "
+"could\n"
+" mean that you verified the key fingerprint and checked the user ID on "
+"the\n"
" key against a photo ID.\n"
"\n"
-"\"3\" means you did extensive verification of the key. For example, this could\n"
+"\"3\" means you did extensive verification of the key. For example, this "
+"could\n"
" mean that you verified the key fingerprint with the owner of the key in\n"
-" person, and that you checked, by means of a hard to forge document with a\n"
-" photo ID (such as a passport) that the name of the key owner matches the\n"
-" name in the user ID on the key, and finally that you verified (by exchange\n"
+" person, and that you checked, by means of a hard to forge document with "
+"a\n"
+" photo ID (such as a passport) that the name of the key owner matches "
+"the\n"
+" name in the user ID on the key, and finally that you verified (by "
+"exchange\n"
" of email) that the email address on the key belongs to the key owner.\n"
"\n"
"Note that the examples given above for levels 2 and 3 are *only* examples.\n"
-"In the end, it is up to you to decide just what \"casual\" and \"extensive\"\n"
+"In the end, it is up to you to decide just what \"casual\" and \"extensive"
+"\"\n"
"mean to you when you sign other keys.\n"
"\n"
"If you don't know what the right answer is, answer \"0\"."
msgstr ""
"Перед подписыванием User ID ключа, следует прежде удостовериться, что\n"
-"ключ действительно принадлежит человеку указанному в User ID. Это очень важно\n"
+"ключ действительно принадлежит человеку указанному в User ID. Это очень "
+"важно\n"
"для тех, кто учитывает как хорошо Вы проверяете достоверность User ID.\n"
"\n"
"\"0\" означает, что Вы не можете сказать, как хорошо Вы проверили ключ.\n"
@@ -2301,19 +2372,23 @@ msgstr ""
" указан в нем, но Вы не могли или не проводили проверку ключа совсем.\n"
" Это полезно, когда Вы подписываете ключ с псевдонимом человека.\n"
"\n"
-"\"2\" означает, что Вы делали неаккуратную проверку ключа. Например, это может\n"
+"\"2\" означает, что Вы делали неаккуратную проверку ключа. Например, это "
+"может\n"
" означать, что Вы проверили отпечаток ключа и проверили User ID на\n"
" ключе на основании фото ID.\n"
"\n"
-"\"3\" означает, что Вы выполнили всестороннюю проверку ключа. Например, это может\n"
+"\"3\" означает, что Вы выполнили всестороннюю проверку ключа. Например, это "
+"может\n"
" означать, что Вы сверили отпечаток ключа с владельцем ключа лично\n"
" и что Вы сверили всё посредством трудноподделываемого документа с\n"
" фотографией (таким как паспорт), что имя владельца ключа совпадает с\n"
-" именем в User ID ключа и наконец, что Вы проверили (обменом шифрованными\n"
+" именем в User ID ключа и наконец, что Вы проверили (обменом "
+"шифрованными\n"
" письмами), что email адрес на ключе принадлежит владельцу ключа.\n"
"\n"
"Учтите, что примеры данные для уровней 2 и 3 - только примеры.\n"
-"В конечном итоге, Вам решать, как классифицировать \"неаккуратно\" и \"всесторонне\",\n"
+"В конечном итоге, Вам решать, как классифицировать \"неаккуратно\" и "
+"\"всесторонне\",\n"
"при подписывании чужих ключей.\n"
"\n"
"Если Вы не можете определиться с правильным ответом, ответьте \"0\"."
@@ -2394,7 +2469,8 @@ msgstr "Введите фразу-пароль (это секретная стр
#: g10/helptext.c:238
msgid "Please repeat the last passphrase, so you are sure what you typed in."
-msgstr "Повторите фразу-пароль, чтобы убедиться в том, что она набрана правильно."
+msgstr ""
+"Повторите фразу-пароль, чтобы убедиться в том, что она набрана правильно."
#: g10/helptext.c:242
msgid "Give the name of the file to which the signature applies"
@@ -2604,12 +2680,16 @@ msgstr "крайне желательно, чтобы Вы обновили Ва
#: g10/import.c:645
msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
-msgstr "распространите данный ключ, чтобы избежать потенциальных проблем несовпадения алгоритмов\n"
+msgstr ""
+"распространите данный ключ, чтобы избежать потенциальных проблем "
+"несовпадения алгоритмов\n"
#: g10/import.c:669
#, c-format
msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
-msgstr "можете обновить список предпочтений используя: gpg --edit-key %s updpref save\n"
+msgstr ""
+"можете обновить список предпочтений используя: gpg --edit-key %s updpref "
+"save\n"
#: g10/import.c:719 g10/import.c:1117
#, c-format
@@ -2788,7 +2868,8 @@ msgstr "ключ %s: нет User ID для подписи\n"
#: g10/import.c:1388
#, c-format
msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
-msgstr "ключ %s: неподдерживаемый алгоритм с открытым ключом у User ID \"%s\"\n"
+msgstr ""
+"ключ %s: неподдерживаемый алгоритм с открытым ключом у User ID \"%s\"\n"
#: g10/import.c:1390
#, c-format
@@ -2968,8 +3049,10 @@ msgstr "обнаружено %d User ID без действительной са
#: g10/keyedit.c:416 g10/pkclist.c:263
msgid ""
-"Please decide how far you trust this user to correctly verify other users' keys\n"
-"(by looking at passports, checking fingerprints from different sources, etc.)\n"
+"Please decide how far you trust this user to correctly verify other users' "
+"keys\n"
+"(by looking at passports, checking fingerprints from different sources, "
+"etc.)\n"
msgstr ""
"Укажите насколько Вы доверяете данному пользователю в\n"
"вопросах проверки достоверности ключей других пользователей.\n"
@@ -2998,7 +3081,9 @@ msgstr ""
#: g10/keyedit.c:456
msgid "Please enter a domain to restrict this signature, or enter for none.\n"
-msgstr "Введите домен, ограничивающий использование данной подписи, или пустую строку, если нет ограничений.\n"
+msgstr ""
+"Введите домен, ограничивающий использование данной подписи, или пустую "
+"строку, если нет ограничений.\n"
#: g10/keyedit.c:600
#, c-format
@@ -3106,7 +3191,9 @@ msgid "Do you want your signature to expire at the same time? (Y/n) "
msgstr "Хотите чтобы Ваша подпись была действительна до того же времени?(Y/n) "
#: g10/keyedit.c:890
-msgid "You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 mode.\n"
+msgid ""
+"You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 "
+"mode.\n"
msgstr "Нельзя сделать OpenPGP подпись на PGP 2.x ключе в режиме --pgp2.\n"
#: g10/keyedit.c:892
@@ -3115,7 +3202,8 @@ msgstr "Это сделает ключ несовместимым с PGP 2.x.\n"
#: g10/keyedit.c:917
msgid ""
-"How carefully have you verified the key you are about to sign actually belongs\n"
+"How carefully have you verified the key you are about to sign actually "
+"belongs\n"
"to the person named above? If you don't know what to answer, enter \"0\".\n"
msgstr ""
"Как хорошо проверено то, что ключ действительно принадлежит человеку,\n"
@@ -3421,11 +3509,13 @@ msgstr "Сначала воспользуйтесь командой \"toggle\".
#: g10/keyedit.c:1699
msgid ""
-"* The `sign' command may be prefixed with an `l' for local signatures (lsign),\n"
+"* The `sign' command may be prefixed with an `l' for local signatures "
+"(lsign),\n"
" a `t' for trust signatures (tsign), an `nr' for non-revocable signatures\n"
" (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
msgstr ""
-"* Команда `sign' может быть дополнена префиксом: `l' - локально подписать lsign),\n"
+"* Команда `sign' может быть дополнена префиксом: `l' - локально подписать "
+"lsign),\n"
" `t' - trust подпись (tsign), `nr' - без возможности отзыва\n"
" (nrsign) или любым их сочетанием (ltsign, tnrsign и т.д.).\n"
@@ -3522,8 +3612,11 @@ msgid "Do you really want to revoke this subkey? (y/N) "
msgstr "Действительно хотите отозвать данный подключ? (y/N)"
#: g10/keyedit.c:2090
-msgid "Owner trust may not be set while using an user provided trust database\n"
-msgstr "Невозможно присвоить степень доверия пока используется указанная пользователем таблица доверий\n"
+msgid ""
+"Owner trust may not be set while using an user provided trust database\n"
+msgstr ""
+"Невозможно присвоить степень доверия пока используется указанная "
+"пользователем таблица доверий\n"
#: g10/keyedit.c:2132
msgid "Set preference list to:\n"
@@ -3671,7 +3764,8 @@ msgstr ""
#: g10/keyedit.c:3014
msgid ""
-"WARNING: This is a PGP2-style key. Adding a photo ID may cause some versions\n"
+"WARNING: This is a PGP2-style key. Adding a photo ID may cause some "
+"versions\n"
" of PGP to reject this key.\n"
msgstr ""
"ВНИМАНИЕ: Это ключ PGP2. Добавление фото ID может в некоторых версиях\n"
@@ -3726,7 +3820,8 @@ msgstr "User ID \"%s\": уже очищен\n"
#: g10/keyedit.c:3344
msgid ""
-"WARNING: This is a PGP 2.x-style key. Adding a designated revoker may cause\n"
+"WARNING: This is a PGP 2.x-style key. Adding a designated revoker may "
+"cause\n"
" some versions of PGP to reject this key.\n"
msgstr ""
"ВНИМАНИЕ: Это ключ PGP 2.x. Добавление назначенного отзывающим ключа\n"
@@ -3757,7 +3852,8 @@ msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
msgstr "ВНИМАНИЕ: назначение ключа отзывающим невозможно будет отменить!\n"
#: g10/keyedit.c:3462
-msgid "Are you sure you want to appoint this key as a designated revoker? (y/N) "
+msgid ""
+"Are you sure you want to appoint this key as a designated revoker? (y/N) "
msgstr "Вы уверены, что хотите назначить данный ключ отзывающим? (y/N)"
#: g10/keyedit.c:3523
@@ -3962,8 +4058,11 @@ msgid "keysize rounded up to %u bits\n"
msgstr "размер ключа приведен к %u битам\n"
#: g10/keygen.c:1276
-msgid "WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
-msgstr "ВНИМАНИЕ: некоторые реализации OpenPGP не смогут обработать DSA ключи с такой длиной хеш-функции\n"
+msgid ""
+"WARNING: some OpenPGP programs can't handle a DSA key with this digest size\n"
+msgstr ""
+"ВНИМАНИЕ: некоторые реализации OpenPGP не смогут обработать DSA ключи с "
+"такой длиной хеш-функции\n"
#: g10/keygen.c:1492
msgid "Sign"
@@ -4146,7 +4245,7 @@ msgstr "Ключ действителен до: %s\n"
msgid "Signature expires at %s\n"
msgstr "Подпись действительна до: %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4161,7 +4260,8 @@ msgstr "Все верно? (y/N) "
#: g10/keygen.c:1884
msgid ""
"\n"
-"You need a user ID to identify your key; the software constructs the user ID\n"
+"You need a user ID to identify your key; the software constructs the user "
+"ID\n"
"from the Real Name, Comment and Email Address in this form:\n"
" \"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>\"\n"
"\n"
@@ -4245,7 +4345,8 @@ msgstr "Сменить (N)Имя, (C)Комментарий, (E)email-адрес
#: g10/keygen.c:1997
msgid "Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? "
-msgstr "Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? "
+msgstr ""
+"Сменить (N)Имя, (C)Комментарий, (E)email-адрес или (O)Принять/(Q)Выход? "
#: g10/keygen.c:2016
msgid "Please correct the error first\n"
@@ -4284,7 +4385,8 @@ msgid ""
"generator a better chance to gain enough entropy.\n"
msgstr ""
"Необходимо сгенерировать много случайных чисел. Желательно, что бы Вы\n"
-"выполняли некоторые другие активные действия (печать на клавиатуре, движения мышью,\n"
+"выполняли некоторые другие активные действия (печать на клавиатуре, движения "
+"мышью,\n"
"обращения к дискам) в процессе генерации; это даст генератору\n"
"случайных чисел возможность получить лучшую энтропию.\n"
@@ -4346,13 +4448,17 @@ msgstr "Сбой при создании ключа: %s\n"
#: g10/keygen.c:3353 g10/keygen.c:3481 g10/sign.c:277
#, c-format
-msgid "key has been created %lu second in future (time warp or clock problem)\n"
-msgstr "ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
+msgid ""
+"key has been created %lu second in future (time warp or clock problem)\n"
+msgstr ""
+"ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
#: g10/keygen.c:3355 g10/keygen.c:3483 g10/sign.c:279
#, c-format
-msgid "key has been created %lu seconds in future (time warp or clock problem)\n"
-msgstr "ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
+msgid ""
+"key has been created %lu seconds in future (time warp or clock problem)\n"
+msgstr ""
+"ключ был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
#: g10/keygen.c:3364 g10/keygen.c:3494
msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
@@ -4377,7 +4483,7 @@ msgstr "не могу создать резервную копию, файл `%s
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "ЗАМЕЧАНИЕ: архивная копия ключа карты сохранена в `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "никогда "
@@ -4505,7 +4611,8 @@ msgstr ""
#: g10/keyserver.c:145
#, c-format
msgid "WARNING: keyserver option `%s' is not used on this platform\n"
-msgstr "ВНИМАНИЕ: параметр сервера ключей `%s' не используется на данной платформе\n"
+msgstr ""
+"ВНИМАНИЕ: параметр сервера ключей `%s' не используется на данной платформе\n"
#: g10/keyserver.c:528
msgid "disabled"
@@ -4833,8 +4940,10 @@ msgid "not a detached signature\n"
msgstr "не отделенная подпись\n"
#: g10/mainproc.c:1989
-msgid "WARNING: multiple signatures detected. Only the first will be checked.\n"
-msgstr "ВНИМАНИЕ: обнаружено множество подписей. Только первая будет проверена.\n"
+msgid ""
+"WARNING: multiple signatures detected. Only the first will be checked.\n"
+msgstr ""
+"ВНИМАНИЕ: обнаружено множество подписей. Только первая будет проверена.\n"
#: g10/mainproc.c:1997
#, c-format
@@ -4862,12 +4971,16 @@ msgstr ""
#: g10/misc.c:336
#, c-format
msgid "WARNING: using experimental public key algorithm %s\n"
-msgstr "ВНИМАНИЕ: используется экспериментальный алгоритм %s шифрования с открытым ключом\n"
+msgstr ""
+"ВНИМАНИЕ: используется экспериментальный алгоритм %s шифрования с открытым "
+"ключом\n"
#: g10/misc.c:351
#, c-format
msgid "WARNING: using experimental cipher algorithm %s\n"
-msgstr "ВНИМАНИЕ: используется экспериментальный алгоритм симметричного шифрования %s\n"
+msgstr ""
+"ВНИМАНИЕ: используется экспериментальный алгоритм симметричного шифрования %"
+"s\n"
#: g10/misc.c:366
#, c-format
@@ -4906,7 +5019,8 @@ msgstr "используйте \"%s%s\" взамен\n"
#: g10/misc.c:735
#, c-format
msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
-msgstr "ВНИМАНИЕ: команда \"%s\" является устаревшей - не следует применять ее\n"
+msgstr ""
+"ВНИМАНИЕ: команда \"%s\" является устаревшей - не следует применять ее\n"
#: g10/misc.c:796
msgid "Uncompressed"
@@ -4976,7 +5090,9 @@ msgstr "не могу использовать алгоритм с открыт
#: g10/parse-packet.c:762
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
-msgstr "ВНИМАНИЕ: потенциально небезопасный сеансовый ключ, зашифрованный симметричным шифром\n"
+msgstr ""
+"ВНИМАНИЕ: потенциально небезопасный сеансовый ключ, зашифрованный "
+"симметричным шифром\n"
#: g10/parse-packet.c:1213
#, c-format
@@ -5021,7 +5137,8 @@ msgstr "проблема с агентом: %s\n"
msgid ""
"You need a passphrase to unlock the secret key for\n"
"user: \"%s\"\n"
-msgstr "Необходима фраза-пароль для доступа к секретному ключу пользователя: \"%s\"\n"
+msgstr ""
+"Необходима фраза-пароль для доступа к секретному ключу пользователя: \"%s\"\n"
#: g10/passphrase.c:572
#, c-format
@@ -5120,8 +5237,11 @@ msgid " aka \"%s\"\n"
msgstr " aka \"%s\"\n"
#: g10/pkclist.c:256
-msgid "How much do you trust that this key actually belongs to the named user?\n"
-msgstr "Какова уверенность в принадлежности данного ключа лицу указанному в User ID ключа?\n"
+msgid ""
+"How much do you trust that this key actually belongs to the named user?\n"
+msgstr ""
+"Какова уверенность в принадлежности данного ключа лицу указанному в User ID "
+"ключа?\n"
#: g10/pkclist.c:271
#, c-format
@@ -5165,7 +5285,9 @@ msgstr "Ваше решение (?-подробнее)? "
#: g10/pkclist.c:320
msgid "Do you really want to set this key to ultimate trust? (y/N) "
-msgstr "Действительно хотите установить АБСОЛЮТНОЕ доверие к владельцу данного ключа? (y/N)"
+msgstr ""
+"Действительно хотите установить АБСОЛЮТНОЕ доверие к владельцу данного "
+"ключа? (y/N)"
#: g10/pkclist.c:334
msgid "Certificates leading to an ultimately trusted key:\n"
@@ -5174,12 +5296,16 @@ msgstr "Сертификаты, приводящие к абсолютно до
#: g10/pkclist.c:419
#, c-format
msgid "%s: There is no assurance this key belongs to the named user\n"
-msgstr "%s: Нет свидетельств принадлежности данного ключа лицу указанному в User ID ключа\n"
+msgstr ""
+"%s: Нет свидетельств принадлежности данного ключа лицу указанному в User ID "
+"ключа\n"
#: g10/pkclist.c:424
#, c-format
msgid "%s: There is limited assurance this key belongs to the named user\n"
-msgstr "%s: Мало свидетельств принадлежности данного ключа лицу указанному в User ID ключа\n"
+msgstr ""
+"%s: Мало свидетельств принадлежности данного ключа лицу указанному в User ID "
+"ключа\n"
#: g10/pkclist.c:430
msgid "This key probably belongs to the named user\n"
@@ -5258,7 +5384,8 @@ msgid "WARNING: This key is not certified with a trusted signature!\n"
msgstr "ВНИМАНИЕ: Данный ключ не заверен доверенной подписью!\n"
#: g10/pkclist.c:604
-msgid " There is no indication that the signature belongs to the owner.\n"
+msgid ""
+" There is no indication that the signature belongs to the owner.\n"
msgstr " Нет указаний на то, что подпись принадлежит владельцу.\n"
#: g10/pkclist.c:612
@@ -5270,8 +5397,10 @@ msgid " The signature is probably a FORGERY.\n"
msgstr " Возможно, что подпись ПОДДЕЛАНА.\n"
#: g10/pkclist.c:621
-msgid "WARNING: This key is not certified with sufficiently trusted signatures!\n"
-msgstr "ВНИМАНИЕ: Этот ключ не заверен достаточным количеством доверяемых подписей!\n"
+msgid ""
+"WARNING: This key is not certified with sufficiently trusted signatures!\n"
+msgstr ""
+"ВНИМАНИЕ: Этот ключ не заверен достаточным количеством доверяемых подписей!\n"
#: g10/pkclist.c:623
msgid " It is not certain that the signature belongs to the owner.\n"
@@ -5333,6 +5462,16 @@ msgstr "%s: пропущено: открытый ключ отключен\n"
msgid "no valid addressees\n"
msgstr "нет действительных адресов\n"
+#: g10/pkclist.c:1468
+#, fuzzy, c-format
+msgid "Note: key %s has no %s feature\n"
+msgstr "ключ %s не имеет User ID\n"
+
+#: g10/pkclist.c:1493
+#, fuzzy, c-format
+msgid "Note: key %s has no preference for %s\n"
+msgstr "ключ %s не имеет User ID\n"
+
#: g10/plaintext.c:91
msgid "data not saved; use option \"--output\" to save it\n"
msgstr "данные не сохранены; используйте \"--output\" для сохранения\n"
@@ -5367,26 +5506,27 @@ msgstr "анонимный получатель; пробую секретный
msgid "okay, we are the anonymous recipient.\n"
msgstr "отлично, мы анонимный получатель.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "старое шифрование DEK не поддерживается\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "алгоритм шифрования %d%s неизвестен или отключен\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
-msgstr "ВНИМАНИЕ: алгоритм шифрования %s не найден в списке предпочтений получателя\n"
+msgstr ""
+"ВНИМАНИЕ: алгоритм шифрования %s не найден в списке предпочтений получателя\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "ЗАМЕЧАНИЕ: секретный ключ %s просрочен с %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "ЗАМЕЧАНИЕ: ключ был отозван"
@@ -5535,7 +5675,8 @@ msgstr "ВНИМАНИЕ: обнаружен слабый ключ - смени
#: g10/seckey-cert.c:406
msgid "generating the deprecated 16-bit checksum for secret key protection\n"
-msgstr "создание нерекомендуемой 16-битной контрольной суммы для защиты ключа\n"
+msgstr ""
+"создание нерекомендуемой 16-битной контрольной суммы для защиты ключа\n"
#: g10/seskey.c:63 sm/encrypt.c:121
msgid "weak key created - retrying\n"
@@ -5544,18 +5685,19 @@ msgstr "создан слабый ключ - повторение\n"
#: g10/seskey.c:67
#, c-format
msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
-msgstr "невозможно избежать слабого ключа для симметричного шифра; %d попыток!\n"
+msgstr ""
+"невозможно избежать слабого ключа для симметричного шифра; %d попыток!\n"
#: g10/seskey.c:229
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr "DSA тебует размер хеша кратного 8 битам\n"
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr "ключ DSA %s использует небезопасный (%u бит) хеш\n"
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr "для ключа DSA %s требуется хеш не менее %u бит\n"
@@ -5567,12 +5709,15 @@ msgstr "ВНИМАНИЕ: конфликт хэшей подписей в соо
#: g10/sig-check.c:107
#, c-format
msgid "WARNING: signing subkey %s is not cross-certified\n"
-msgstr "ВНИМАНИЕ: подписываемый подключ %s не имеет перекрестной сертификации\n"
+msgstr ""
+"ВНИМАНИЕ: подписываемый подключ %s не имеет перекрестной сертификации\n"
#: g10/sig-check.c:119
#, c-format
msgid "WARNING: signing subkey %s has an invalid cross-certification\n"
-msgstr "ВНИМАНИЕ: подписываемый подключ %s имеет недостоверную перекрестную сертификацию\n"
+msgstr ""
+"ВНИМАНИЕ: подписываемый подключ %s имеет недостоверную перекрестную "
+"сертификацию\n"
#: g10/sig-check.c:191
#, c-format
@@ -5586,13 +5731,19 @@ msgstr "открытый ключ %s на %lu секунд моложе подп
#: g10/sig-check.c:203
#, c-format
-msgid "key %s was created %lu second in the future (time warp or clock problem)\n"
-msgstr "ключ %s был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
+msgid ""
+"key %s was created %lu second in the future (time warp or clock problem)\n"
+msgstr ""
+"ключ %s был создан на %lu секунд в будущем (time warp или проблемы с "
+"часами)\n"
#: g10/sig-check.c:205
#, c-format
-msgid "key %s was created %lu seconds in the future (time warp or clock problem)\n"
-msgstr "ключ %s был создан на %lu секунд в будущем (time warp или проблемы с часами)\n"
+msgid ""
+"key %s was created %lu seconds in the future (time warp or clock problem)\n"
+msgstr ""
+"ключ %s был создан на %lu секунд в будущем (time warp или проблемы с "
+"часами)\n"
#: g10/sig-check.c:215
#, c-format
@@ -5625,7 +5776,8 @@ msgstr "невозможно добавить примечание в v3 (PGP 2.
#: g10/sign.c:108
#, c-format
msgid "WARNING: unable to %%-expand notation (too large). Using unexpanded.\n"
-msgstr "ВНИМАНИЕ: не могу развернуть %% запись (длинный). Использую неразвернутым.\n"
+msgstr ""
+"ВНИМАНИЕ: не могу развернуть %% запись (длинный). Использую неразвернутым.\n"
#: g10/sign.c:125
msgid "can't put a policy URL into v3 (PGP 2.x style) signatures\n"
@@ -5637,13 +5789,20 @@ msgstr "нельзя ставить URL правил в v3 (PGP 2.x стиля)
#: g10/sign.c:146
#, c-format
-msgid "WARNING: unable to %%-expand policy URL (too large). Using unexpanded.\n"
-msgstr "ВНИМАНИЕ: не могу развернуть %% url правил (длинный). Использую неразвернутым.\n"
+msgid ""
+"WARNING: unable to %%-expand policy URL (too large). Using unexpanded.\n"
+msgstr ""
+"ВНИМАНИЕ: не могу развернуть %% url правил (длинный). Использую "
+"неразвернутым.\n"
#: g10/sign.c:174
#, c-format
-msgid "WARNING: unable to %%-expand preferred keyserver URL (too large). Using unexpanded.\n"
-msgstr "ВНИМАНИЕ: невозможно развернуть %% URL предпочитаемого сервера ключей (слишком длинно). Использую неразвернутым.\n"
+msgid ""
+"WARNING: unable to %%-expand preferred keyserver URL (too large). Using "
+"unexpanded.\n"
+msgstr ""
+"ВНИМАНИЕ: невозможно развернуть %% URL предпочитаемого сервера ключей "
+"(слишком длинно). Использую неразвернутым.\n"
#: g10/sign.c:347
#, c-format
@@ -5661,8 +5820,11 @@ msgstr "только отделенная подпись доступна с PGP
#: g10/sign.c:866
#, c-format
-msgid "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
-msgstr "ВНИМАНИЕ: использование хэш-функции %s (%d) нарушает предпочтения получателя\n"
+msgid ""
+"WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
+msgstr ""
+"ВНИМАНИЕ: использование хэш-функции %s (%d) нарушает предпочтения "
+"получателя\n"
#: g10/sign.c:993
msgid "signing:"
@@ -5679,7 +5841,8 @@ msgstr "будет использовано %s шифрование\n"
#: g10/skclist.c:151 g10/skclist.c:215
msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
-msgstr "ключ не помечен как ненадежный - не могу использовать его с ненадежным RNG!\n"
+msgstr ""
+"ключ не помечен как ненадежный - не могу использовать его с ненадежным RNG!\n"
#: g10/skclist.c:182
#, c-format
@@ -5697,7 +5860,8 @@ msgstr "пропущено: секретный ключ уже имеется\n"
#: g10/skclist.c:210
msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
-msgstr "это созданный PGP ElGamal ключ, не обеспечивающий безопасность подписи!"
+msgstr ""
+"это созданный PGP ElGamal ключ, не обеспечивающий безопасность подписи!"
#: g10/tdbdump.c:60 g10/trustdb.c:366
#, c-format
@@ -5925,7 +6089,8 @@ msgstr "запись о доверии %lu не запрашиваемого т
#: g10/trustdb.c:447
#, c-format
msgid "unable to use unknown trust model (%d) - assuming %s trust model\n"
-msgstr "не могу использовать неизвестную модель (%d) - использую %s модель доверий\n"
+msgstr ""
+"не могу использовать неизвестную модель (%d) - использую %s модель доверий\n"
#: g10/trustdb.c:453
#, c-format
@@ -6033,17 +6198,22 @@ msgstr "открытый ключ для абсолютно доверяемог
#: g10/trustdb.c:2197
#, c-format
msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
-msgstr "%d ограниченных необходимо, %d выполненных необходимо, %s модель доверия\n"
+msgstr ""
+"%d ограниченных необходимо, %d выполненных необходимо, %s модель доверия\n"
#: g10/trustdb.c:2283
#, c-format
-msgid "depth: %d valid: %3d signed: %3d trust: %d-, %dq, %dn, %dm, %df, %du\n"
-msgstr "глубина: %d корректных: %3d подписанных: %3d доверия: %d-, %dq, %dn, %dm, %df, %du\n"
+msgid ""
+"depth: %d valid: %3d signed: %3d trust: %d-, %dq, %dn, %dm, %df, %du\n"
+msgstr ""
+"глубина: %d корректных: %3d подписанных: %3d доверия: %d-, %dq, %dn, %dm, "
+"%df, %du\n"
#: g10/trustdb.c:2358
#, c-format
msgid "unable to update trustdb version record: write failed: %s\n"
-msgstr "невозможно обновить запись о версии таблицы доверий: ошибка записи: %s\n"
+msgstr ""
+"невозможно обновить запись о версии таблицы доверий: ошибка записи: %s\n"
#: g10/verify.c:118
msgid ""
@@ -6060,7 +6230,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "входная строка %u слишком длинная или пропущен LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "Вы нашли ошибку ... (%s:%d)\n"
@@ -6123,155 +6293,163 @@ msgstr "сбой сохранения даты создания: %s\n"
msgid "reading public key failed: %s\n"
msgstr "сбой чтения открытого ключа: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "ответ не содержит данных открытого ключа\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "в ответе отсутствует модуль RSA\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "в ответе отсутствует открытая экспонента RSA\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "PIN для CHV%d слишком короток, минимальная длина %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "при проверке CHV%d сбой: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "доступ к командам управления не настроен\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "ошибка получения статуса CHV с карты\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "карта заблокирована!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
-msgstr "осталось %d попыток ввода административного PIN перед блокировкой карты\n"
+msgstr ""
+"осталось %d попыток ввода административного PIN перед блокировкой карты\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Административный PID"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Новый административный PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Новый PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "ошибка при получении нового PIN: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "ошибка чтения данных приложения\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "ошибка чтения отпечатка DO\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "ключ уже существует\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "существующий ключ будет заменен\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "генерация нового ключа\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "пропущен штамп создания создания\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "Модули RSA пропущены или не имеют размер %d бит\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "отсутствует открытая экспонента RSA или превышает %d бит\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "Простое число RSA %s пропущено или не имеет размер %d бит\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "сбой сохранения ключа: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "пожалуйста, подождите, пока будет генерироваться ключ ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "сбой при генерации ключа\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "ключ сгенерирован (%d секунд)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "недопутимая структура OpenPGP карты (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "карта не поддерживает функцию хеширования %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "подписей создано: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Введите PIN%%0A[подписей: %lu]"
-#: scd/app-openpgp.c:2475
-msgid "verification of Admin PIN is currently prohibited through this command\n"
-msgstr "проверка административного PIN в данный момент запрещена этой командой\n"
+#: scd/app-openpgp.c:2500
+msgid ""
+"verification of Admin PIN is currently prohibited through this command\n"
+msgstr ""
+"проверка административного PIN в данный момент запрещена этой командой\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "нет доступа %s - неработоспособная карта OpenPGP?\n"
@@ -6320,16 +6498,17 @@ msgstr ""
"Синтаксис: scdaemon [параметры] [команда [аргументы]]\n"
"Демон смарткарт для GnuPG\n"
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
-msgstr "Используйте параметр `--daemon' для запуска приложения в фоновом режиме\n"
+msgstr ""
+"Используйте параметр `--daemon' для запуска приложения в фоновом режиме\n"
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr "обработчик fd %d запущен\n"
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr "обработчик fd %d остановлен\n"
@@ -6458,7 +6637,8 @@ msgstr "в gpg-agent нельзя сделать сертификат довер
#: sm/certchain.c:970
msgid "interactive marking as trusted disabled for this session\n"
-msgstr "для данной сессии запрещено делать сертификат доверяемым интерактивно\n"
+msgstr ""
+"для данной сессии запрещено делать сертификат доверяемым интерактивно\n"
#: sm/certchain.c:980
#, c-format
@@ -6494,31 +6674,32 @@ msgstr "DSA требует использования 160 битной хэш-ф
msgid "(this is the MD2 algorithm)\n"
msgstr "(это MD2 алгоритм)\n"
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
msgid "none"
msgstr "нет"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
msgid "[none]"
msgstr "[нет]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
msgid "[Error - invalid encoding]"
msgstr "[Ошибка - недопустимая кодировка]"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr "[Ошибка - Нет имени]"
-#: sm/certdump.c:597
+#: sm/certdump.c:604
msgid "[Error - invalid DN]"
msgstr "[Ошибка - недопустимый DN]"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
+#, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
"\"%s\"\n"
@@ -6828,7 +7009,8 @@ msgid ""
"default operation depends on the input data\n"
msgstr ""
"Синтаксис: gpgsm [параметры] [файлы]\n"
-"подписать и проверить, зашифровать или расшифровать используя S/MIME протокол\n"
+"подписать и проверить, зашифровать или расшифровать используя S/MIME "
+"протокол\n"
"операция по умолчанию зависит от входных данных\n"
#: sm/gpgsm.c:617
@@ -6940,7 +7122,8 @@ msgstr "ошибка сохранения флагов: %s\n"
#: sm/misc.c:57
msgid "GPG_TTY has not been set - using maybe bogus default\n"
-msgstr "GPG_TTY не установлено - возможно использование подделанного умолчания\n"
+msgstr ""
+"GPG_TTY не установлено - возможно использование подделанного умолчания\n"
#: sm/qualified.c:113
#, c-format
@@ -6957,14 +7140,19 @@ msgstr "недопустисый код страны в `%s', строка %d\n"
msgid ""
"You are about to create a signature using your certificate:\n"
"\"%s\"\n"
-"This will create a qualified signature by law equated to a handwritten signature.\n"
+"This will create a qualified signature by law equated to a handwritten "
+"signature.\n"
"\n"
"%s%sAre you really sure that you want to do this?"
msgstr ""
#: sm/qualified.c:233
-msgid "Note, that this software is not officially approved to create or verify such signatures.\n"
-msgstr "Учтите, что для данной программы официально не одобрено создание и проверка подобных подписей.\n"
+msgid ""
+"Note, that this software is not officially approved to create or verify such "
+"signatures.\n"
+msgstr ""
+"Учтите, что для данной программы официально не одобрено создание и проверка "
+"подобных подписей.\n"
#: sm/qualified.c:321
#, c-format
@@ -6992,15 +7180,15 @@ msgstr "[дата не указана]"
msgid " using certificate ID %08lX\n"
msgstr "с использованием сертификата ID %08lX\n"
-#: sm/verify.c:506
+#: sm/verify.c:509
msgid "Good signature from"
msgstr "Действительная подпись от"
-#: sm/verify.c:507
+#: sm/verify.c:510
msgid " aka"
msgstr " aka"
-#: tools/gpg-connect-agent.c:60 tools/gpgconf.c:64 tools/symcryptrun.c:183
+#: tools/gpg-connect-agent.c:60 tools/gpgconf.c:64 tools/symcryptrun.c:186
msgid "quiet"
msgstr ""
@@ -7180,7 +7368,7 @@ msgstr "Компонент не найден"
msgid "error allocating enough memory: %s\n"
msgstr "ошибка распределения памяти: %s\n"
-#: tools/symcryptrun.c:170
+#: tools/symcryptrun.c:173
msgid ""
"@\n"
"Commands:\n"
@@ -7190,158 +7378,160 @@ msgstr ""
"Команды:\n"
" "
-#: tools/symcryptrun.c:172
+#: tools/symcryptrun.c:175
msgid "decryption modus"
msgstr "режим расшифрования"
-#: tools/symcryptrun.c:173
+#: tools/symcryptrun.c:176
msgid "encryption modus"
msgstr "режим зашифровывания"
-#: tools/symcryptrun.c:177
+#: tools/symcryptrun.c:180
msgid "tool class (confucius)"
msgstr ""
-#: tools/symcryptrun.c:178
+#: tools/symcryptrun.c:181
msgid "program filename"
msgstr ""
-#: tools/symcryptrun.c:180
+#: tools/symcryptrun.c:183
msgid "secret key file (required)"
msgstr "файл секретного ключа (требуется)"
-#: tools/symcryptrun.c:181
+#: tools/symcryptrun.c:184
msgid "input file name (default stdin)"
msgstr "ввод имени файла (stdin по умолчанию)"
-#: tools/symcryptrun.c:225
+#: tools/symcryptrun.c:228
msgid "Usage: symcryptrun [options] (-h for help)"
msgstr "Использование: symcryptrun [параметры] (-h для подсказки)"
-#: tools/symcryptrun.c:228
+#: tools/symcryptrun.c:231
msgid ""
-"Syntax: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE [options...] COMMAND [inputfile]\n"
+"Syntax: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE "
+"[options...] COMMAND [inputfile]\n"
"Call a simple symmetric encryption tool\n"
msgstr ""
-"Синтаксис: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE [параметры...] COMMAND [файл-источник]\n"
+"Синтаксис: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE "
+"[параметры...] COMMAND [файл-источник]\n"
"Вызывает простой инструмент шифрования\n"
-#: tools/symcryptrun.c:310
+#: tools/symcryptrun.c:313
#, c-format
msgid "%s on %s aborted with status %i\n"
msgstr "%s над %s прервано, статус %i\n"
-#: tools/symcryptrun.c:317
+#: tools/symcryptrun.c:320
#, c-format
msgid "%s on %s failed with status %i\n"
msgstr "сбой %s над %s, статус %i\n"
-#: tools/symcryptrun.c:343
+#: tools/symcryptrun.c:346
#, c-format
msgid "can't create temporary directory `%s': %s\n"
msgstr "невозможно создание временного каталога `%s': %s\n"
-#: tools/symcryptrun.c:383 tools/symcryptrun.c:400
+#: tools/symcryptrun.c:386 tools/symcryptrun.c:403
#, c-format
msgid "could not open %s for writing: %s\n"
msgstr "невозможно открытие %s на запись: %s\n"
-#: tools/symcryptrun.c:411
+#: tools/symcryptrun.c:414
#, c-format
msgid "error writing to %s: %s\n"
msgstr "ошибка записи в %s: %s\n"
-#: tools/symcryptrun.c:418
+#: tools/symcryptrun.c:421
#, c-format
msgid "error reading from %s: %s\n"
msgstr "ошибка чтения из %s: %s\n"
-#: tools/symcryptrun.c:425 tools/symcryptrun.c:432
+#: tools/symcryptrun.c:428 tools/symcryptrun.c:435
#, c-format
msgid "error closing %s: %s\n"
msgstr "ошибка закрытия %s: %s\n"
-#: tools/symcryptrun.c:542
+#: tools/symcryptrun.c:545
msgid "no --program option provided\n"
msgstr "не задан параметр --program\n"
-#: tools/symcryptrun.c:548
+#: tools/symcryptrun.c:551
msgid "only --decrypt and --encrypt are supported\n"
msgstr "поддерживаются только параметры --decrypt и --encrypt\n"
-#: tools/symcryptrun.c:554
+#: tools/symcryptrun.c:557
msgid "no --keyfile option provided\n"
msgstr "не задан параметр --keyfile\n"
-#: tools/symcryptrun.c:565
+#: tools/symcryptrun.c:568
msgid "cannot allocate args vector\n"
msgstr ""
-#: tools/symcryptrun.c:583
+#: tools/symcryptrun.c:586
#, c-format
msgid "could not create pipe: %s\n"
msgstr ""
-#: tools/symcryptrun.c:590
+#: tools/symcryptrun.c:593
#, c-format
msgid "could not create pty: %s\n"
msgstr ""
-#: tools/symcryptrun.c:606
+#: tools/symcryptrun.c:609
#, c-format
msgid "could not fork: %s\n"
msgstr ""
-#: tools/symcryptrun.c:634
+#: tools/symcryptrun.c:637
#, c-format
msgid "execv failed: %s\n"
msgstr ""
-#: tools/symcryptrun.c:663
+#: tools/symcryptrun.c:666
#, c-format
msgid "select failed: %s\n"
msgstr ""
-#: tools/symcryptrun.c:680
+#: tools/symcryptrun.c:683
#, c-format
msgid "read failed: %s\n"
msgstr ""
-#: tools/symcryptrun.c:732
+#: tools/symcryptrun.c:735
#, c-format
msgid "pty read failed: %s\n"
msgstr ""
-#: tools/symcryptrun.c:784
+#: tools/symcryptrun.c:787
#, c-format
msgid "waitpid failed: %s\n"
msgstr ""
-#: tools/symcryptrun.c:798
+#: tools/symcryptrun.c:801
#, c-format
msgid "child aborted with status %i\n"
msgstr "потомок завершился, статус %i\n"
-#: tools/symcryptrun.c:853
+#: tools/symcryptrun.c:856
#, c-format
msgid "cannot allocate infile string: %s\n"
msgstr ""
-#: tools/symcryptrun.c:866
+#: tools/symcryptrun.c:869
#, c-format
msgid "cannot allocate outfile string: %s\n"
msgstr ""
-#: tools/symcryptrun.c:1041
+#: tools/symcryptrun.c:1044
#, c-format
msgid "either %s or %s must be given\n"
msgstr "следует задать %s либо %s\n"
-#: tools/symcryptrun.c:1061
+#: tools/symcryptrun.c:1064
msgid "no class provided\n"
msgstr "не задан класс\n"
-#: tools/symcryptrun.c:1068
+#: tools/symcryptrun.c:1071
#, c-format
msgid "class %s is not supported\n"
msgstr "класс %s не поддерживается\n"
diff --git a/po/sk.po b/po/sk.po
index e48158ba7..08571586d 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-07-20 15:52+0200\n"
"Last-Translator: Michal Majer <mmajer@econ.umb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -131,7 +131,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: nepodarilo sa vytvori hashovaciu tabuku: %s\n"
@@ -285,7 +285,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -294,154 +294,148 @@ msgstr ""
"Chyby oznmte, prosm, na adresu <gnupg-bugs@gnu.org>.\n"
"Pripomienky k prekladu <sk-i18n@lists.linux.sk>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Pouitie: gpg [monosti] [sbory] (-h pre pomoc)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "POZNMKA: neexistuje implicitn sbor s monosami `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "sbor s monosami `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "tam monosti z `%s'\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "chyba pri vytvran `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "nemem vytvori adresr `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "%s: nemem vytvori: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "chyba pri posielan na `%s': %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "aktualizcia zlyhala: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "zapisujem tajn k do `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: adresr vytvoren\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "databza dvery: procedra read() (n=%d) zlyhala: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: nemem vytvori adresr: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "aktualizcia tajnho ka zlyhala: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: preskoen: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent nie je v tomto seden dostupn\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "zl formt premennej prostredia GPG_AGENT_INFO\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4417,7 +4411,7 @@ msgstr "platnos %s skon %s\n"
msgid "Signature expires at %s\n"
msgstr "Platnos podpisu vypr %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4660,7 +4654,7 @@ msgstr "nemem vytvori `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "POZNMKA: platnos tajnho ka %08lX skonila %s\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "nikdy "
@@ -5708,26 +5702,26 @@ msgstr "anonymn adrest; skam tajn k %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "o.k., my sme anonymn adrest.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "star kdovanie DEK nie je podporovn\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "ifrovac algoritmus %d%s je neznam alebo je zakzan\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "POZNMKA: v predvobch nenjden ifrovac algoritmus %d\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "POZNMKA: platnos tajnho ka %08lX skonila %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "POZNMKA: k bol revokovan"
@@ -5896,12 +5890,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6445,7 +6439,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "vstupn riadok %u je prli dlh alebo na konci chba znak LF\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "njden chyba v programe ... (%s:%d)\n"
@@ -6480,11 +6474,6 @@ msgstr ""
"Chyby oznmte, prosm, na adresu <gnupg-bugs@gnu.org>.\n"
"Pripomienky k prekladu <sk-i18n@lists.linux.sk>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6515,47 +6504,52 @@ msgstr "zlyhalo obnovenie vyrovnvacej pamti kov: %s\n"
msgid "reading public key failed: %s\n"
msgstr "zmazanie bloku ka sa nepodarilo: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "nepodarilo posla k na server: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6563,113 +6557,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "chyba pri vytvran hesla: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "chyba pri tan bloku ka: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "%s: chyba pri tan vonho zznamu: %s\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' je u skomprimovan\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "vytvori nov pr kov"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "nemem inicializova databzu dvery: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "zmazanie bloku ka sa nepodarilo: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Vytvorenie ka sa nepodarilo: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s podpis, hashovac algoritmus %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, fuzzy, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "nenjden iadne platn dta vo formte OpenPGP.\n"
@@ -6722,16 +6716,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6905,35 +6899,35 @@ msgstr "DSA poaduje pouitie 160 bitovho hashovacieho algoritmu\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nie"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "neznme"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "chyba: neplatn odtlaok\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "chyba: neplatn odtlaok\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7434,12 +7428,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Dobr podpis od \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " alias \""
@@ -7796,6 +7790,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "ochrann algoritmus %d%s nie je podporovn\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problm s agentom - pouvanie agenta vypnut\n"
diff --git a/po/sv.po b/po/sv.po
index e5e301618..9679fbd4f 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.6\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2004-12-01 17:49+0100\n"
"Last-Translator: Per Tunedal <info@clipanish.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -152,7 +152,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: misslyckades med att skapa kontrollsummetabell: %s\n"
@@ -309,7 +309,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -318,154 +318,148 @@ msgstr ""
"Rapportera gärna fel till <gnupg-bugs@gnu.org>.\n"
"Rapportera gärna fel eller synpunkter på översättningen till <sv@li.org>.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "OBS: inställningsfilen \"%s\" saknas\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "inställningsfil \"%s\": %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "läser inställningar från \"%s\"\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "Fel vid skapande av `%s': %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "%s: kan inte skapa katalog: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "kan inte skapa \"%s\": %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "fel vid sändning till \"%s\": %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "uppdateringen misslyckades: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "skriver hemlig nyckel till \"%s\"\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, fuzzy, c-format
msgid "directory `%s' created\n"
msgstr "%s: katalog skapad\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "tillitsdatabas: läsning misslyckades (n=%d): %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "%s: kan inte skapa katalog: %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "misslyckades med att uppdatera hemligheten: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: hoppade över: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "kunde inte få tillgång till GPG-Agent i denna session\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "miljövariabeln GPG_AGENT_INFO är felformaterad\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4519,7 +4513,7 @@ msgstr "Giltighetstiden för %s går ut vid följande tidpunkt: %s\n"
msgid "Signature expires at %s\n"
msgstr "Giltighetstiden för signaturen går ut %s\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4765,7 +4759,7 @@ msgstr "kan inte skapa \"%s\": %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr ""
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "aldrig"
@@ -5828,26 +5822,26 @@ msgstr "anonym mottagare; försöker med den hemliga nyckeln %08lX ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "ok, vi är den hemliga mottagaren.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "gammal kodning av krypteringsnyckeln stöds inte\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "krypteringsalgoritmen %d%s är okänd eller avstängd\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, fuzzy, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "OBS: krypteringsalgoritmen %d finns inte i inställningarna\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, fuzzy, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "OBS: den hemliga nyckeln %08lX gick ut %s\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "OBS: nyckeln har spärrats"
@@ -6027,12 +6021,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6597,7 +6591,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "raden %u är för lång, eller saknar nyradstecken\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "du har hittat ett fel i programmet ... (%s:%d)\n"
@@ -6634,11 +6628,6 @@ msgstr ""
"Rapportera gärna fel till <gnupg-bugs@gnu.org>.\n"
"Rapportera gärna fel eller synpunkter på översättningen till <sv@li.org>.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6669,47 +6658,52 @@ msgstr "misslyckades med att återskapa nyckelringscache: %s\n"
msgid "reading public key failed: %s\n"
msgstr "misslyckades med att radera nyckelblock: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr ""
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr ""
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr ""
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr ""
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr ""
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, fuzzy, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "Sändning till nyckelservern misslyckades: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr ""
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr ""
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr ""
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6717,113 +6711,113 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr ""
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr ""
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr ""
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, fuzzy, c-format
msgid "error getting new PIN: %s\n"
msgstr "Fel vid skapande av `%s': %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
#, fuzzy
msgid "error reading application data\n"
msgstr "fel vid läsning av nyckelblock: %s\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
#, fuzzy
msgid "error reading fingerprint DO\n"
msgstr "fel: ogiltigt fingeravtryck\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
#, fuzzy
msgid "key already exists\n"
msgstr "`%s' är redan komprimerad\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr ""
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
#, fuzzy
msgid "generating new key\n"
msgstr "generera ett nytt nyckelpar"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr ""
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr ""
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, fuzzy, c-format
msgid "failed to store the key: %s\n"
msgstr "misslyckades med att initialisera tillitsdatabasen: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr ""
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
#, fuzzy
msgid "generating key failed\n"
msgstr "Nyckelgenereringen misslyckades: %s\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, fuzzy, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "Nyckelgenereringen misslyckades: %s\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr ""
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s signatur, sammandragsalgoritm %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr ""
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr ""
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr ""
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr ""
@@ -6876,16 +6870,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -7060,35 +7054,35 @@ msgstr "DSA kräver att du använder en 160-bitars kontrollsummealgoritm\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "nej"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "okänd"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "fel: ogiltigt fingeravtryck\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "fel: ogiltigt fingeravtryck\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7588,12 +7582,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "Korrekt signatur från \""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " även känd som \""
@@ -7956,6 +7950,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "skyddssammandraget %d stöds inte\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "problem med GPG-Agent, stänger av den\n"
diff --git a/po/tr.po b/po/tr.po
index 7cd421432..de7c1e60f 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.9.94\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2006-11-04 03:45+0200\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@belgeler.gen.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -132,7 +132,7 @@ msgstr ""
"gpg-agent'in anahtar deposuna korumak için alınan gizli anahtar %%0A %s%%0A "
"için lütfen anahtar parolası giriniz"
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "sokette akım oluşturulamadı: %s\n"
@@ -273,25 +273,17 @@ msgstr "ssh-agent öykünümü etkinleşir"
msgid "|FILE|write environment settings also to FILE"
msgstr "|DOSYA|ortam ayarlarını ayrıca DOSYAya da yazar"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
msgid "Please report bugs to <"
msgstr "Yazılım hatalarını lütfen <"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-"> adresine,\n"
-"çeviri hatalarını ise <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "Kullanımı: gpg [seçenekler] (yardım için -h)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
@@ -299,136 +291,136 @@ msgstr ""
"Sözdizimi: gpg-agent [seçenekler] [komut [arg ...]]\n"
"GnuPG için gizli anahtar yönetimi\n"
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr "%lu bayt ayrılırken güvenli bellekte nüve dışına çıkıldı"
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr "%lu bayt ayrılırken nüve dışına çıkıldı"
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr "belirtilen hata seviyesi `%s' geçersiz\n"
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr "libgcrypt çok eski (%s lazım, sizinki %s)\n"
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "BİLGİ: \"%s\" öntanımlı seçenek dosyası yok\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "seçenek dosyası \"%s\": %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "\"%s\"den seçenekler okunuyor\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "`%s' oluşturulurken hata: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "`%s' dizini oluşturulamıyor: %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr "soketin ismi çok uzun\n"
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, c-format
msgid "can't create socket: %s\n"
msgstr "soket oluşturulamıyor: %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "soket `%s'e bağlanırken hata: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, c-format
msgid "listen() failed: %s\n"
msgstr "soket dinleme başarısız: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, c-format
msgid "listening on socket `%s'\n"
msgstr "`%s' soketi dinlemede\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "dizin `%s' oluşturuldu\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "%s için stat() başarısız oldu: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, c-format
msgid "can't use `%s' as home directory\n"
msgstr "`%s' ev dizini olarak kullanılamıyor\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr "tutamak 0x%lx, fd %d için başlatıldı\n"
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr "tutamak 0x%lx, fd %d için sonlandırıldı\n"
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr "ssh tutamağı 0x%lx, fd %d için başlatıldı\n"
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr "ssh tutamağı 0x%lx, fd %d için sonlandırıldı\n"
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "pth_select başarısız: %s - 1s bekliyor\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, c-format
msgid "%s %s stopped\n"
msgstr "%s %s durdu\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
msgid "no gpg-agent running in this session\n"
msgstr "bu oturumda çalışan gpg-agent yok\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "GPG_AGENT_INFO çevre değişkeni hatalı\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4314,7 +4306,7 @@ msgstr "Anahtarın geçerliliği %s de bitecek.\n"
msgid "Signature expires at %s\n"
msgstr "İmzanın geçerliliği %s de bitecek.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4556,7 +4548,7 @@ msgstr "'%s' yedek dosyası oluşturulamıyor: %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "BİLGİ: kart anahtarının yedeklemesi '%s' e kaydedildi\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "asla "
@@ -5581,26 +5573,26 @@ msgstr "anonim alıcı: %s gizli anahtarı deneniyor ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "tamam, biz anonim alıcıyız.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "DEK'in eski kodlaması desteklenmiyor\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "şifre algoritması %d%s bilinmiyor ya da iptal edilmiş\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "UYARI: %s şifre algoritması alıcı tercihlerinde yok\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "BİLGİ: %s gizli anahtarının %s tarihinde kullanım süresi doldu\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "BİLGİ: anahtar yürürlükten kaldırılmıştı"
@@ -5774,12 +5766,12 @@ msgstr ""
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr "DSA sekizin katlarında bir çittirim uzunluğu gerektirir\n"
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr "DSA anahtarı %s, güvensiz bir çittirim (%u bitlik) kullanıyor\n"
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr "DSA anahtarı %s, %u bitlik veya daha geniş bir çittirim gerektiriyor\n"
@@ -6316,7 +6308,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "girdi satırı %u ya çok uzun ya da sonunda satırsonu karakteri yok\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "bir yazılım hatası buldunuz ... (%s:%d)\n"
@@ -6348,12 +6340,6 @@ msgstr "tam hata ayıklama etkin olur"
msgid "Please report bugs to "
msgstr "Yazılım hatalarını lütfen "
-#: kbx/kbxutil.c:108
-msgid ".\n"
-msgstr ""
-"<gnupg-bugs@gnu.org> adresine,\n"
-"çeviri hatalarını ise <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-
#: kbx/kbxutil.c:112
msgid "Usage: kbxutil [options] [files] (-h for help)"
msgstr "Kullanımı: kbxutil [seçenekler] [dosyalar] (yardım için -h)"
@@ -6385,47 +6371,53 @@ msgstr "oluşturma tarihinin saklanması başarısız oldu: %s\n"
msgid "reading public key failed: %s\n"
msgstr "genel anahtar okuması başarısız: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "yanıt genel anahtar verisi içermiyor\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "yanıt RSA modülü içermiyor\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "yanıt RSA genel bileşenini içermiyor\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+#, fuzzy
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr "bir okuyucu tuştakımı kullanılmaz"
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "PIN eylemcisi hata döndürdü: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "CHV%d için PIN çok kısa; asgari uzunluk: %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "CHV%d doğrulaması başarısız oldu: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "yönetici komutlarına erişim yapılandırılmamış\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "karttan CHV durumu alınırken hata\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "kart kalıcı olarak kilitli!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr ""
@@ -6434,108 +6426,108 @@ msgstr ""
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Yönetici PIN'i"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|Yeni Yönetici PIN'i"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|Yeni PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "yeni PIN alınırken hata: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "uygulama verisi okunurken hata\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "parmakizi DO okunurken hata\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "anahtar zaten mevcut\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "mevcut anahtar konulacak\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "yeni anahtar üretiliyor\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "oluşturum zaman damgası kayıp\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "RSA modülü ya eksik ya da %d bitlik değil\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "RSA genel üstel sayısı ya eksik ya da %d bitten büyük\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "RSA asal sayısı %s ya eksik la da %d bitlik değil\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "anahtarın saklanması başarısız: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "anahtar üretilene kadar lütfen bekleyiniz ....\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "anahtar üretimi başarısızlığa uğradı\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "anahtar üretimi tamamlandı (%d saniye)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "OpenPGP kartının yapısı geçersiz (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "kart %s özet algoritmasını desteklemiyor\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "şu ana kadar oluşturulan imzalar: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||Lütfen PIN'i giriniz%%0A[yapılan imza: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr "Yönetici PIN'inin doğrulanması bu komut yüzünden şimdilik yasaktır\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "%s erişilebilir değil - OpenPGP kartı geçersiz olabilir mi?\n"
@@ -6584,18 +6576,18 @@ msgstr ""
"Sözdizimi: scdaemon [seçenekler] [komut [arg ...]]\n"
"GnuPG için akıllı kart artalan süreci\n"
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
"Programı artalanda çalışır bırakmak için lütfen `--daemon' seçeneğini "
"kullanın\n"
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr "fd %d için eylemci başlatıldı\n"
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr "fd %d için eylemci sonlandı\n"
@@ -6760,31 +6752,31 @@ msgstr "DSA, 160 bitlik bir çittirim algoritması kullanılmasını gerektiriyo
msgid "(this is the MD2 algorithm)\n"
msgstr "(bu, MD2 algoritmasıdır)\n"
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
msgid "none"
msgstr "yok"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
msgid "[none]"
msgstr "[yok]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
msgid "[Error - invalid encoding]"
msgstr "[Hata - kodlama geçersiz]"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr "[Hata - nüve dışında]"
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr "[Hata - Adsız]"
-#: sm/certdump.c:597
+#: sm/certdump.c:604
msgid "[Error - invalid DN]"
msgstr "[Hata - DN geçersiz]"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7272,11 +7264,11 @@ msgstr "[belirtilmeyen tarihte]"
msgid " using certificate ID %08lX\n"
msgstr " sertifika kimliği %08lX kullanılarak yapıldı\n"
-#: sm/verify.c:506
+#: sm/verify.c:509
msgid "Good signature from"
msgstr "Buradaki imzeler iyi:"
-#: sm/verify.c:507
+#: sm/verify.c:510
msgid " aka"
msgstr " nam-ı diğer"
@@ -7627,3 +7619,13 @@ msgstr "hiç sınıf sağlanmamış\n"
#, c-format
msgid "class %s is not supported\n"
msgstr "%s sınıfı desteklenmiyor\n"
+
+#~ msgid ">.\n"
+#~ msgstr ""
+#~ "> adresine,\n"
+#~ "çeviri hatalarını ise <gnu-tr@belgeler.org> adresine bildiriniz.\n"
+
+#~ msgid ".\n"
+#~ msgstr ""
+#~ "<gnupg-bugs@gnu.org> adresine,\n"
+#~ "çeviri hatalarını ise <gnu-tr@belgeler.org> adresine bildiriniz.\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 9e2c3f64f..77a6b9c48 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2006-07-02 10:58+0800\n"
"Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
@@ -137,7 +137,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s:建立散列表失败:%s\n"
@@ -291,7 +291,7 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
@@ -300,154 +300,148 @@ msgstr ""
"请向 <gnupg-bugs@gnu.org> 报告程序缺陷。\n"
"请向 <zuxyhere@eastday.com> 反映简体中文翻译的问题。\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "用法: gpg [选项] [文件] (用 -h 求助)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "注意:没有默认配置文件‘%s’\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "配置文件‘%s’:%s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "从‘%s’读取选项\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "建立‘%s’时发生错误:%s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "无法建立目录‘%s’:%s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "无法建立‘%s’:%s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "更新失败:%s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "正在将私钥写至`%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "已创建目录‘%s’\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) 在 %s 中出错:%s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "无法建立目录‘%s’:%s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "更新私钥失败:%s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s:已跳过:%s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent 在此次舍话中无法使用\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "GPG_AGENT_INFO 环境变量格式错误\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4211,7 +4205,7 @@ msgstr "密钥于 %s 过期\n"
msgid "Signature expires at %s\n"
msgstr "签名于 %s 过期\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4444,7 +4438,7 @@ msgstr "不能创建备份文件‘%s’:%s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "注意:卡密钥的备份已保存到‘%s’\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "永不过期"
@@ -5448,26 +5442,26 @@ msgstr "匿名收件者;正在尝试使用私钥 %s ……\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "很好,我们就是匿名收件者。\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "不支持旧式的 DEK 编码\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "对称加密算法 %d%s 未知或已停用\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "注意:收件人的首选项中找不到加密算法 %s\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "注意:私钥 %s 已于 %s 过期\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "注意:密钥已被吊销"
@@ -5630,12 +5624,12 @@ msgstr "对称加密无法避免生成弱密钥;已经尝试 %d 次!\n"
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr "DSA 需要散列值长度为 8 位的倍数\n"
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr "DSA 密钥 %s 使用不安全的(%u 位)的散列\n"
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr "DSA 密钥 %s 需要 %u 位或更长的散列\n"
@@ -6148,7 +6142,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "输入行 %u 太长或者行末的换行符 LF 遗失\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "您找到一个程序缺陷了……(%s:%d)\n"
@@ -6183,11 +6177,6 @@ msgstr ""
"请向 <gnupg-bugs@gnu.org> 报告程序缺陷。\n"
"请向 <zuxyhere@eastday.com> 反映简体中文翻译的问题。\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6218,47 +6207,52 @@ msgstr "无法存储创建日期:%s\n"
msgid "reading public key failed: %s\n"
msgstr "无法读出公钥:%s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "响应未包含公钥数据\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "响应未包含 RSA 余数\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "响应未包含 RSA 公钥指数\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "PIN 回调返回错误:%s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "CHV%d 的 PIN 太短;最小长度为 %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "验证 CHV%d 失败:%s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "尚未配置管理员命令的权限\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "从卡中获取 CHV 状态时出错\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "卡被永久锁定!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "尝试管理员 PIN %d 次后,卡将被永久锁定!\n"
@@ -6266,108 +6260,108 @@ msgstr "尝试管理员 PIN %d 次后,卡将被永久锁定!\n"
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|管理员 PIN"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|新的管理员 PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "新的 PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "获取新 PIN 时出错:%s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "读取应用程序数据时出错\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "读取指纹 D0 出错\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "密钥已存在\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "现有的密钥将被替换\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "生成新密钥\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "缺少创建时间戳\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "RSA 余数缺失或者不是 %d 位长\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "RSA 公钥指数缺失或长于 %d 位\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "RSA 质数 %s 缺失或者不是 %d 位长\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "无法存储密钥:%s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "请稍候,正在生成密钥……\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "生成密钥失败\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "密钥已生成(耗时 %d 秒)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "无效的 OpenPGP 卡结构(D0 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "卡不支持散列算法 %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "目前已创建的签名:%lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||请输入 PIN%%0A[完成的签字:%lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr "目前禁止通过此命令验证管理员 PIN\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "不能存取 %s――无效的 OpenPGP 卡?\n"
@@ -6417,16 +6411,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6600,35 +6594,35 @@ msgstr "DSA 要求使用 160 位的散列算法\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[未设定]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "错误:无效的响应。\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "错误:无效的响应。\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7132,12 +7126,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "完好的签名,来自于“%s”"
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " 亦即“%s”"
@@ -7494,6 +7488,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "不支持保护散列 %d\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "代理程序有问题――正在停用代理程序\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index bf930355d..dd1f0e2cf 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-10 00:40+0100\n"
+"POT-Creation-Date: 2006-11-21 10:53+0100\n"
"PO-Revision-Date: 2005-07-29 09:49+0800\n"
"Last-Translator: Jedi <Jedi@Jedi.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -135,7 +135,7 @@ msgid ""
"0Awithin gpg-agent's key storage"
msgstr ""
-#: agent/command-ssh.c:2857
+#: agent/command-ssh.c:2853
#, fuzzy, c-format
msgid "failed to create stream from socket: %s\n"
msgstr "%s: 建立雜湊表失敗: %s\n"
@@ -289,161 +289,155 @@ msgstr ""
msgid "|FILE|write environment settings also to FILE"
msgstr ""
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
#: tools/gpgconf.c:86 tools/symcryptrun.c:225
#, fuzzy
msgid "Please report bugs to <"
msgstr "請向 <gnupg-bugs@gnu.org> 回報程式瑕疵.\n"
-#: agent/gpg-agent.c:238 agent/preset-passphrase.c:96 agent/protect-tool.c:143
-#: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
-#: tools/gpgconf.c:86 tools/symcryptrun.c:225
-msgid ">.\n"
-msgstr ""
-
-#: agent/gpg-agent.c:241
+#: agent/gpg-agent.c:244
#, fuzzy
msgid "Usage: gpg-agent [options] (-h for help)"
msgstr "用法: gpg [選項] [檔案] (或用 -h 求助)"
-#: agent/gpg-agent.c:243
+#: agent/gpg-agent.c:246
msgid ""
"Syntax: gpg-agent [options] [command [args]]\n"
"Secret key management for GnuPG\n"
msgstr ""
-#: agent/gpg-agent.c:302
+#: agent/gpg-agent.c:305
#, c-format
msgid "out of core in secure memory while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
#, c-format
msgid "out of core while allocating %lu bytes"
msgstr ""
-#: agent/gpg-agent.c:336 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
#, c-format
msgid "invalid debug-level `%s' given\n"
msgstr ""
-#: agent/gpg-agent.c:507 agent/protect-tool.c:1073 g10/gpg.c:1808
+#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
#: tools/symcryptrun.c:1056
#, c-format
msgid "libgcrypt is too old (need %s, have %s)\n"
msgstr ""
-#: agent/gpg-agent.c:601 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
#, c-format
msgid "NOTE: no default option file `%s'\n"
msgstr "請注意: 沒有預設選項檔 `%s'\n"
-#: agent/gpg-agent.c:606 agent/gpg-agent.c:1129 g10/gpg.c:2011
+#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
#, c-format
msgid "option file `%s': %s\n"
msgstr "選項檔 `%s': %s\n"
-#: agent/gpg-agent.c:614 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
#, c-format
msgid "reading options from `%s'\n"
msgstr "從 `%s' 讀取選項\n"
-#: agent/gpg-agent.c:914 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
#: g10/plaintext.c:158
#, c-format
msgid "error creating `%s': %s\n"
msgstr "建立 `%s' 時發生錯誤: %s\n"
-#: agent/gpg-agent.c:1179 agent/gpg-agent.c:1282 agent/gpg-agent.c:1286
-#: agent/gpg-agent.c:1322 agent/gpg-agent.c:1326 g10/exec.c:174
-#: g10/openfile.c:416 scd/scdaemon.c:916
+#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
+#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: g10/openfile.c:416 scd/scdaemon.c:932
#, c-format
msgid "can't create directory `%s': %s\n"
msgstr "無法建立目錄 `%s': %s\n"
-#: agent/gpg-agent.c:1193 scd/scdaemon.c:930
+#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
msgid "name of socket too long\n"
msgstr ""
-#: agent/gpg-agent.c:1219 scd/scdaemon.c:956
+#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
#, fuzzy, c-format
msgid "can't create socket: %s\n"
msgstr "無法建立 `%s': %s\n"
-#: agent/gpg-agent.c:1248 scd/scdaemon.c:985
+#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
#, fuzzy, c-format
msgid "error binding socket to `%s': %s\n"
msgstr "在 `%s' 中尋找信任記錄時出錯: %s\n"
-#: agent/gpg-agent.c:1256 scd/scdaemon.c:993
+#: agent/gpg-agent.c:1287 scd/scdaemon.c:1009
#, fuzzy, c-format
msgid "listen() failed: %s\n"
msgstr "更新失敗: %s\n"
-#: agent/gpg-agent.c:1262 scd/scdaemon.c:999
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
#, fuzzy, c-format
msgid "listening on socket `%s'\n"
msgstr "正在將私鑰寫至 `%s'\n"
-#: agent/gpg-agent.c:1290 agent/gpg-agent.c:1332 g10/openfile.c:419
+#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:419
#, c-format
msgid "directory `%s' created\n"
msgstr "目錄 `%s' 已建立\n"
-#: agent/gpg-agent.c:1338
+#: agent/gpg-agent.c:1369
#, fuzzy, c-format
msgid "stat() failed for `%s': %s\n"
msgstr "fstat(%d) 失敗於 %s: %s\n"
-#: agent/gpg-agent.c:1342
+#: agent/gpg-agent.c:1373
#, fuzzy, c-format
msgid "can't use `%s' as home directory\n"
msgstr "無法建立目錄 `%s': %s\n"
-#: agent/gpg-agent.c:1441
+#: agent/gpg-agent.c:1475
#, c-format
msgid "handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1446
+#: agent/gpg-agent.c:1480
#, c-format
msgid "handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1460
+#: agent/gpg-agent.c:1497
#, c-format
msgid "ssh handler 0x%lx for fd %d started\n"
msgstr ""
-#: agent/gpg-agent.c:1465
+#: agent/gpg-agent.c:1502
#, c-format
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr ""
-#: agent/gpg-agent.c:1559 scd/scdaemon.c:1115
+#: agent/gpg-agent.c:1598 scd/scdaemon.c:1134
#, fuzzy, c-format
msgid "pth_select failed: %s - waiting 1s\n"
msgstr "更新私鑰失敗: %s\n"
-#: agent/gpg-agent.c:1643 scd/scdaemon.c:1172
+#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
#, fuzzy, c-format
msgid "%s %s stopped\n"
msgstr "%s: 已跳過: %s\n"
-#: agent/gpg-agent.c:1664
+#: agent/gpg-agent.c:1725
#, fuzzy
msgid "no gpg-agent running in this session\n"
msgstr "gpg-agent 在此階段無法使用\n"
-#: agent/gpg-agent.c:1674 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
#: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
msgid "malformed GPG_AGENT_INFO environment variable\n"
msgstr "被變造的 GPG_AGENT_INFO 環境變數\n"
-#: agent/gpg-agent.c:1686 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
#: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
#, c-format
msgid "gpg-agent protocol version %d is not supported\n"
@@ -4244,7 +4238,7 @@ msgstr "金鑰將會在 %s 過期\n"
msgid "Signature expires at %s\n"
msgstr "簽章將會在 %s 過期.\n"
-#: g10/keygen.c:1856
+#: g10/keygen.c:1854
msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
@@ -4477,7 +4471,7 @@ msgstr "無法建立備份檔案 `%s': %s\n"
msgid "NOTE: backup of card key saved to `%s'\n"
msgstr "請注意: 卡片金鑰的備份已儲存至 `%s'\n"
-#: g10/keyid.c:539 g10/keyid.c:551 g10/keyid.c:563 g10/keyid.c:575
+#: g10/keyid.c:540 g10/keyid.c:552 g10/keyid.c:564 g10/keyid.c:576
msgid "never "
msgstr "永遠不過期"
@@ -5488,26 +5482,26 @@ msgstr "匿名收件者; 正在嘗試使用私鑰 %s ...\n"
msgid "okay, we are the anonymous recipient.\n"
msgstr "很好, 我們就是匿名收件者.\n"
-#: g10/pubkey-enc.c:226
+#: g10/pubkey-enc.c:227
msgid "old encoding of the DEK is not supported\n"
msgstr "不支援舊式的 DEK 編碼\n"
-#: g10/pubkey-enc.c:247
+#: g10/pubkey-enc.c:248
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "編密演算法 %d%s 未知或已停用了\n"
-#: g10/pubkey-enc.c:285
+#: g10/pubkey-enc.c:286
#, c-format
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "警告: 收件者偏好設定中找不到編密演算法 %s\n"
-#: g10/pubkey-enc.c:305
+#: g10/pubkey-enc.c:306
#, c-format
msgid "NOTE: secret key %s expired at %s\n"
msgstr "請注意: 私鑰 %s 在 %s 過期了\n"
-#: g10/pubkey-enc.c:311
+#: g10/pubkey-enc.c:312
msgid "NOTE: key has been revoked"
msgstr "請注意: 金鑰已經被撤銷了"
@@ -5671,12 +5665,12 @@ msgstr "無法避免對稱式編密法的弱金鑰; 已經試了 %d 次了!\n"
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
msgstr ""
-#: g10/seskey.c:243
+#: g10/seskey.c:242
#, c-format
msgid "DSA key %s uses an unsafe (%u bit) hash\n"
msgstr ""
-#: g10/seskey.c:255
+#: g10/seskey.c:254
#, c-format
msgid "DSA key %s requires a %u bit or larger hash\n"
msgstr ""
@@ -6190,7 +6184,7 @@ msgstr ""
msgid "input line %u too long or missing LF\n"
msgstr "輸入列 %u 太長或者列末的 LF 遺失了\n"
-#: jnlib/logging.c:619
+#: jnlib/logging.c:626
#, c-format
msgid "you found a bug ... (%s:%d)\n"
msgstr "妳找到一個瑕疵了 ... (%s:%d)\n"
@@ -6223,11 +6217,6 @@ msgstr ""
msgid "Please report bugs to "
msgstr "請向 <gnupg-bugs@gnu.org> 回報程式瑕疵.\n"
-#: kbx/kbxutil.c:108
-#, fuzzy
-msgid ".\n"
-msgstr "%s.\n"
-
#: kbx/kbxutil.c:112
#, fuzzy
msgid "Usage: kbxutil [options] [files] (-h for help)"
@@ -6258,47 +6247,52 @@ msgstr "存放創生資料失敗: %s\n"
msgid "reading public key failed: %s\n"
msgstr "讀取公鑰時失敗: %s\n"
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1953
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
msgid "response does not contain the public key data\n"
msgstr "回應中未包含公鑰資料\n"
-#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1961
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:1986
msgid "response does not contain the RSA modulus\n"
msgstr "回應中未包含 RSA 系數\n"
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1971
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
msgid "response does not contain the RSA public exponent\n"
msgstr "回應中未包含 RSA 公用指數\n"
-#: scd/app-openpgp.c:1302 scd/app-openpgp.c:1390 scd/app-openpgp.c:2222
+#: scd/app-openpgp.c:1306
+msgid "||Please enter your PIN at the reader's keypad"
+msgstr ""
+
+#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
+#: scd/app-openpgp.c:2247
#, c-format
msgid "PIN callback returned error: %s\n"
msgstr "個人識別碼 (PIN) 收回時傳回錯誤: %s\n"
-#: scd/app-openpgp.c:1308 scd/app-openpgp.c:1396 scd/app-openpgp.c:2228
+#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
msgstr "用於 CHV %d 的個人識別碼 (PIN) 太短; 長度最少要有 %d\n"
-#: scd/app-openpgp.c:1317 scd/app-openpgp.c:1331 scd/app-openpgp.c:1406
-#: scd/app-openpgp.c:2237 scd/app-openpgp.c:2251
+#: scd/app-openpgp.c:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
+#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
#, c-format
msgid "verify CHV%d failed: %s\n"
msgstr "驗證 CHV %d 失敗: %s\n"
-#: scd/app-openpgp.c:1354
+#: scd/app-openpgp.c:1379
msgid "access to admin commands is not configured\n"
msgstr "取用管理者指令尚未被組態過\n"
-#: scd/app-openpgp.c:1369 scd/app-openpgp.c:2461
+#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
msgid "error retrieving CHV status from card\n"
msgstr "從卡片取回 CHV 狀態時出錯\n"
-#: scd/app-openpgp.c:1375 scd/app-openpgp.c:2470
+#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
msgid "card is permanently locked!\n"
msgstr "卡片已被永久鎖住了!!\n"
-#: scd/app-openpgp.c:1380
+#: scd/app-openpgp.c:1405
#, c-format
msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr "%d 管理者個人識別碼 (PIN) 試圖在卡片被永久鎖定前遺留下來\n"
@@ -6306,108 +6300,108 @@ msgstr "%d 管理者個人識別碼 (PIN) 試圖在卡片被永久鎖定前遺
#. TRANSLATORS: Do not translate the "|A|" prefix but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1387
+#: scd/app-openpgp.c:1412
msgid "|A|Admin PIN"
msgstr "|A|Admin PIN"
#. TRANSLATORS: Do not translate the "|*|" prefixes but
#. keep it at the start of the string. We need this elsewhere
#. to get some infos on the string.
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|AN|New Admin PIN"
msgstr "|AN|New Admin PIN"
-#: scd/app-openpgp.c:1536
+#: scd/app-openpgp.c:1561
msgid "|N|New PIN"
msgstr "|N|New PIN"
-#: scd/app-openpgp.c:1540
+#: scd/app-openpgp.c:1565
#, c-format
msgid "error getting new PIN: %s\n"
msgstr "取得新的個人識別碼 (PIN) 時出錯: %s\n"
-#: scd/app-openpgp.c:1590 scd/app-openpgp.c:2039
+#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
msgid "error reading application data\n"
msgstr "讀取應用程式資料時出錯\n"
-#: scd/app-openpgp.c:1596 scd/app-openpgp.c:2046
+#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
msgid "error reading fingerprint DO\n"
msgstr "讀取指紋 DO 時出錯\n"
-#: scd/app-openpgp.c:1606
+#: scd/app-openpgp.c:1631
msgid "key already exists\n"
msgstr "金鑰已存在\n"
-#: scd/app-openpgp.c:1610
+#: scd/app-openpgp.c:1635
msgid "existing key will be replaced\n"
msgstr "既有的金鑰將被取代\n"
-#: scd/app-openpgp.c:1612
+#: scd/app-openpgp.c:1637
msgid "generating new key\n"
msgstr "正在產生新的金鑰\n"
-#: scd/app-openpgp.c:1779
+#: scd/app-openpgp.c:1804
msgid "creation timestamp missing\n"
msgstr "建立的時間戳印缺漏\n"
-#: scd/app-openpgp.c:1786
+#: scd/app-openpgp.c:1811
#, c-format
msgid "RSA modulus missing or not of size %d bits\n"
msgstr "RSA 模組缺漏或者尺寸並非 %d 位元\n"
-#: scd/app-openpgp.c:1793
+#: scd/app-openpgp.c:1818
#, c-format
msgid "RSA public exponent missing or larger than %d bits\n"
msgstr "RSA 公用指數缺漏或者大於 %d 位元\n"
-#: scd/app-openpgp.c:1801 scd/app-openpgp.c:1808
+#: scd/app-openpgp.c:1826 scd/app-openpgp.c:1833
#, c-format
msgid "RSA prime %s missing or not of size %d bits\n"
msgstr "RSA 質數 %s 缺漏或者尺寸並非 %d 位元\n"
-#: scd/app-openpgp.c:1871
+#: scd/app-openpgp.c:1896
#, c-format
msgid "failed to store the key: %s\n"
msgstr "存放金鑰失敗: %s\n"
-#: scd/app-openpgp.c:1930
+#: scd/app-openpgp.c:1955
msgid "please wait while key is being generated ...\n"
msgstr "公鑰正被產生中, 請稍候 ...\n"
-#: scd/app-openpgp.c:1944
+#: scd/app-openpgp.c:1969
msgid "generating key failed\n"
msgstr "產生金鑰時失敗\n"
-#: scd/app-openpgp.c:1947
+#: scd/app-openpgp.c:1972
#, c-format
msgid "key generation completed (%d seconds)\n"
msgstr "金鑰產生已完工 (%d 秒)\n"
-#: scd/app-openpgp.c:2004
+#: scd/app-openpgp.c:2029
msgid "invalid structure of OpenPGP card (DO 0x93)\n"
msgstr "OpenPGP 卡片的格式無效 (DO 0x93)\n"
-#: scd/app-openpgp.c:2141
+#: scd/app-openpgp.c:2166
#, fuzzy, c-format
msgid "card does not support digest algorithm %s\n"
msgstr "%s 簽章, 摘要演算法 %s\n"
-#: scd/app-openpgp.c:2202
+#: scd/app-openpgp.c:2227
#, c-format
msgid "signatures created so far: %lu\n"
msgstr "目前建立的簽章: %lu\n"
-#: scd/app-openpgp.c:2210
+#: scd/app-openpgp.c:2235
#, c-format
msgid "||Please enter the PIN%%0A[sigs done: %lu]"
msgstr "||請輸入 PIN%%0A[簽署完成: %lu]"
-#: scd/app-openpgp.c:2475
+#: scd/app-openpgp.c:2500
msgid ""
"verification of Admin PIN is currently prohibited through this command\n"
msgstr "管理者個人識別碼 (PIN) 之驗證目前在此指令中被禁止了\n"
-#: scd/app-openpgp.c:2548 scd/app-openpgp.c:2558
+#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
#, c-format
msgid "can't access %s - invalid OpenPGP card?\n"
msgstr "無法存取 %s - 無效的 OpenPGP 卡片?\n"
@@ -6457,16 +6451,16 @@ msgid ""
"Smartcard daemon for GnuPG\n"
msgstr ""
-#: scd/scdaemon.c:672
+#: scd/scdaemon.c:682
msgid "please use the option `--daemon' to run the program in the background\n"
msgstr ""
-#: scd/scdaemon.c:1013
+#: scd/scdaemon.c:1030
#, c-format
msgid "handler for fd %d started\n"
msgstr ""
-#: scd/scdaemon.c:1018
+#: scd/scdaemon.c:1035
#, c-format
msgid "handler for fd %d terminated\n"
msgstr ""
@@ -6640,35 +6634,35 @@ msgstr "DSA 要求使用 160 位元的雜湊演算法\n"
msgid "(this is the MD2 algorithm)\n"
msgstr ""
-#: sm/certdump.c:61 sm/certdump.c:147
+#: sm/certdump.c:68 sm/certdump.c:154
#, fuzzy
msgid "none"
msgstr "no"
-#: sm/certdump.c:156
+#: sm/certdump.c:163
#, fuzzy
msgid "[none]"
msgstr "[未設定]"
-#: sm/certdump.c:529 sm/certdump.c:592
+#: sm/certdump.c:536 sm/certdump.c:599
#, fuzzy
msgid "[Error - invalid encoding]"
msgstr "錯誤: 無效的回應.\n"
-#: sm/certdump.c:537
+#: sm/certdump.c:544
msgid "[Error - out of core]"
msgstr ""
-#: sm/certdump.c:572
+#: sm/certdump.c:579
msgid "[Error - No name]"
msgstr ""
-#: sm/certdump.c:597
+#: sm/certdump.c:604
#, fuzzy
msgid "[Error - invalid DN]"
msgstr "錯誤: 無效的回應.\n"
-#: sm/certdump.c:758
+#: sm/certdump.c:818
#, fuzzy, c-format
msgid ""
"Please enter the passphrase to unlock the secret key for:\n"
@@ -7172,12 +7166,12 @@ msgstr ""
msgid " using certificate ID %08lX\n"
msgstr ""
-#: sm/verify.c:506
+#: sm/verify.c:509
#, fuzzy
msgid "Good signature from"
msgstr "完好的簽章來自於 \"%s\""
-#: sm/verify.c:507
+#: sm/verify.c:510
#, fuzzy
msgid " aka"
msgstr " 亦即 \"%s\""
@@ -7534,6 +7528,10 @@ msgstr ""
msgid "class %s is not supported\n"
msgstr "保護摘要 %d 未被支援\n"
+#, fuzzy
+#~ msgid ".\n"
+#~ msgstr "%s.\n"
+
#~ msgid "problem with the agent - disabling agent use\n"
#~ msgstr "代理程式的問題 - 正在停用代理程式\n"
diff --git a/scd/ChangeLog b/scd/ChangeLog
index 3c1c373a6..7cfcb76b0 100644
--- a/scd/ChangeLog
+++ b/scd/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * Makefile.am (libexec_PROGRAMS): Put pscs-wrapper into libexec.
+ Renamed to gnupg-pcsc-wrapper.
+ * apdu.c (open_pcsc_reader): Use GNUPG_LIBEXECDIR to accces the
+ wrapper. Suggested by Eric Dorland.
+
2006-11-20 Werner Koch <wk@g10code.com>
* app-openpgp.c (verify_chv2): Support for keypads (only CHV2).
diff --git a/scd/Makefile.am b/scd/Makefile.am
index 894016cf8..405a611a5 100644
--- a/scd/Makefile.am
+++ b/scd/Makefile.am
@@ -21,7 +21,7 @@
bin_PROGRAMS = scdaemon
if ! HAVE_W32_SYSTEM
-pkglib_PROGRAMS = pcsc-wrapper
+libexec_PROGRAMS = gnupg-pcsc-wrapper
endif
AM_CPPFLAGS = -I$(top_srcdir)/gl -I$(top_srcdir)/intl -I$(top_srcdir)/common
@@ -67,6 +67,6 @@ scdaemon_LDADD = ../jnlib/libjnlib.a ../common/libcommonpth.a ../gl/libgnu.a \
# $(LIBUSB_LIBS) \
# -lgpg-error @LIBINTL@ @DL_LIBS@
#
-pcsc_wrapper_SOURCES = pcsc-wrapper.c
-pcsc_wrapper_LDADD = $(DL_LIBS)
-pcsc_wrapper_CFLAGS =
+gnupg_pcsc_wrapper_SOURCES = pcsc-wrapper.c
+gnupg_pcsc_wrapper_LDADD = $(DL_LIBS)
+gnupg_pcsc_wrapper_CFLAGS =
diff --git a/scd/apdu.c b/scd/apdu.c
index e83ce3c3e..3057d6415 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -1338,7 +1338,7 @@ open_pcsc_reader (const char *portstr)
int err;
unsigned int dummy_status;
int sw = SW_HOST_CARD_IO_ERROR;
- const char *wrapperpgm = GNUPG_LIBDIR "/pcsc-wrapper";
+ const char *wrapperpgm = GNUPG_LIBEXECDIR "/gnupg-pcsc-wrapper";
if (access (wrapperpgm, X_OK))
{
diff --git a/scd/pcsc-wrapper.c b/scd/pcsc-wrapper.c
index 0e362a16a..633d5b80e 100644
--- a/scd/pcsc-wrapper.c
+++ b/scd/pcsc-wrapper.c
@@ -1,4 +1,4 @@
-/* pcsc-wrapper.c - Wrapper for ccessing the PC/SC service
+/* pcsc-wrapper.c - Wrapper for accessing the PC/SC service
* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
diff --git a/scripts/config.rpath b/scripts/config.rpath
index 4db13e50f..c492a93b6 100755
--- a/scripts/config.rpath
+++ b/scripts/config.rpath
@@ -2,28 +2,13 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2003 Free Software Foundation, Inc.
+# Copyright 1996-2006 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -40,7 +25,7 @@
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
@@ -50,6 +35,18 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
@@ -60,6 +57,13 @@ else
aix*)
wl='-Wl,'
;;
+ darwin*)
+ case $cc_basename in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
mingw* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
@@ -71,13 +75,26 @@ else
newsos6)
;;
linux*)
- case $CC in
- icc|ecc)
+ case $cc_basename in
+ icc* | ecc*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
- ccc)
+ ccc*)
wl='-Wl,'
;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
esac
;;
osf3* | osf4* | osf5*)
@@ -96,6 +113,9 @@ else
;;
sysv4*MP*)
;;
+ unicos*)
+ wl='-Wl,'
+ ;;
uts4*)
;;
esac
@@ -117,6 +137,10 @@ case "$host_os" in
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -124,6 +148,12 @@ esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
@@ -138,7 +168,7 @@ if test "$with_gnu_ld" = yes; then
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can use
+ # behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
@@ -159,9 +189,20 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
+ interix3*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
netbsd*)
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -170,6 +211,20 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
sunos4*)
hardcode_direct=yes
;;
@@ -181,10 +236,8 @@ if test "$with_gnu_ld" = yes; then
fi
;;
esac
- if test "$ld_shlibs" = yes; then
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
@@ -215,6 +268,7 @@ else
break
fi
done
+ ;;
esac
fi
hardcode_direct=yes
@@ -234,6 +288,7 @@ else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
+ ;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
@@ -266,7 +321,7 @@ else
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
- bsdi4*)
+ bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
@@ -277,8 +332,17 @@ else
libext=lib
;;
darwin* | rhapsody*)
- if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
- hardcode_direct=no
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case $cc_basename in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
fi
;;
dgux*)
@@ -295,7 +359,7 @@ else
hardcode_direct=yes
hardcode_minus_L=yes
;;
- freebsd*)
+ freebsd* | kfreebsd*-gnu | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
@@ -307,24 +371,25 @@ else
# but as the default location of the library.
hardcode_minus_L=yes
;;
- hpux10* | hpux11*)
+ hpux10*)
if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
hardcode_direct=no
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
;;
*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -378,8 +443,6 @@ else
fi
hardcode_libdir_separator=:
;;
- sco3.2v5*)
- ;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
@@ -408,14 +471,11 @@ else
ld_shlibs=yes
fi
;;
- sysv4.2uw2*)
- hardcode_direct=yes
- hardcode_minus_L=no
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
;;
- sysv5*)
- hardcode_libdir_flag_spec=
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -438,7 +498,7 @@ case "$host_os" in
;;
beos*)
;;
- bsdi4*)
+ bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
shrext=.dll
@@ -450,12 +510,14 @@ case "$host_os" in
;;
freebsd1*)
;;
- freebsd*)
+ kfreebsd*-gnu)
+ ;;
+ freebsd* | dragonfly*)
;;
gnu*)
;;
hpux9* | hpux10* | hpux11*)
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
shrext=.so
;;
@@ -467,6 +529,8 @@ case "$host_os" in
;;
esac
;;
+ interix3*)
+ ;;
irix5* | irix6* | nonstopux*)
case "$host_os" in
irix5* | nonstopux*)
@@ -486,11 +550,13 @@ case "$host_os" in
;;
linux*)
;;
+ knetbsd*-gnu)
+ ;;
netbsd*)
;;
newsos6)
;;
- nto-qnx)
+ nto-qnx*)
;;
openbsd*)
;;
@@ -500,16 +566,16 @@ case "$host_os" in
;;
osf3* | osf4* | osf5*)
;;
- sco3.2v5*)
- ;;
solaris*)
;;
sunos4*)
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.3*)
;;
sysv4*MP*)
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ ;;
uts4*)
;;
esac
@@ -519,7 +585,7 @@ escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 6e445822f..2229a6869 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * certdump.c (my_funopen_hook_ret_t): New.
+ (format_name_writer): Use it for the return value.
+
2006-11-14 Werner Koch <wk@g10code.com>
* server.c (skip_options): Skip leading spaces.
diff --git a/sm/certdump.c b/sm/certdump.c
index 032a00ad2..9f398d5ce 100644
--- a/sm/certdump.c
+++ b/sm/certdump.c
@@ -41,6 +41,13 @@
#include "keydb.h"
#include "i18n.h"
+#ifdef HAVE_FOPENCOOKIE
+typedef ssize_t my_funopen_hook_ret_t;
+#else
+typedef int my_funopen_hook_ret_t;
+#endif
+
+
struct dn_array_s {
char *key;
char *value;
@@ -626,7 +633,7 @@ struct format_name_cookie
};
/* The writer function for the memory stream. */
-static int
+static my_funopen_hook_ret_t
format_name_writer (void *cookie, const char *buffer, size_t size)
{
struct format_name_cookie *c = cookie;
diff --git a/sm/certreqgen.c b/sm/certreqgen.c
index f0221d3fd..0fafea1ec 100644
--- a/sm/certreqgen.c
+++ b/sm/certreqgen.c
@@ -517,7 +517,7 @@ proc_parameters (ctrl_t ctrl,
r->lnr, (int)errlen, s+erroff);
else
log_error (_("line %d: invalid subject name `%s' at pos %d\n"),
- r->lnr, s, erroff);
+ r->lnr, s, (int)erroff);
xfree (cardkeyid);
return gpg_error (GPG_ERR_INV_PARAMETER);
diff --git a/tools/ChangeLog b/tools/ChangeLog
index 34bba91a9..1dc65c624 100644
--- a/tools/ChangeLog
+++ b/tools/ChangeLog
@@ -1,3 +1,7 @@
+2006-11-21 Werner Koch <wk@g10code.com>
+
+ * gpgconf-comp.c (list_one_option): Cast print size_t arg.
+
2006-11-17 Werner Koch <wk@g10code.com>
* gpgconf-comp.c: Made disable-keypad a basic option.
diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c
index d88c96751..e1d96d2c8 100644
--- a/tools/gpgconf-comp.c
+++ b/tools/gpgconf-comp.c
@@ -1175,7 +1175,7 @@ list_one_option (const gc_option_t *option, FILE *out)
&& option->value)
/* The special format "1,1,1,1,...,1" is converted to a number
here. */
- fprintf (out, ":%u", (strlen (option->value) + 1) / 2);
+ fprintf (out, ":%u", (unsigned int)((strlen (option->value) + 1) / 2));
else
fprintf (out, ":%s", option->value ? option->value : "");