mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
See ChangeLog: Wed Sep 15 16:22:17 CEST 1999 Werner Koch
This commit is contained in:
parent
52139a60cf
commit
dcaaa9223e
5
AUTHORS
5
AUTHORS
@ -66,6 +66,11 @@ Disclaimer. [pt_BR]
|
||||
jungmann@cwb.matrix.com.br
|
||||
|
||||
|
||||
TRANSLATIONS Pedro Morais
|
||||
??????????. [pt_PT]
|
||||
morais@poli.org
|
||||
|
||||
|
||||
TRANSLATIONS Janusz Aleksander Urbanowicz 1999-01-09
|
||||
Disclaimer. [po]
|
||||
alex@bofh.torun.pl
|
||||
|
@ -1,3 +1,11 @@
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* configure.in (ALL_LINGUAS): Add pt_PT.
|
||||
|
||||
* configure.in: Some tweaks for cross compiling under MingW32
|
||||
* acconfig.h (USE_STATIC_RNDW32): New.
|
||||
|
||||
Tue Sep 7 17:08:10 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
|
2
THANKS
2
THANKS
@ -17,7 +17,7 @@ Christian von Roques roques@pond.sub.org
|
||||
Christopher Oliver oliver@fritz.traverse.net
|
||||
Christian Recktenwald chris@citecs.de
|
||||
Daniel Eisenbud eisenbud@cs.swarthmore.edu
|
||||
Daniel Koenig dan@mail.isis.de
|
||||
Daniel Koening dan@mail.isis.de
|
||||
David Ellement ellement@sdd.hp.com
|
||||
Detlef Lannert lannert@lannert.rz.uni-duesseldorf.de
|
||||
Dirk Lattermann dlatt@t-online.de
|
||||
|
@ -91,6 +91,13 @@
|
||||
/* defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2)
|
||||
* with special properties like no file modes */
|
||||
#undef HAVE_DOSISH_SYSTEM
|
||||
/* because the Unix gettext has to much overhead on MingW32 systems
|
||||
* and these systems lack Posix functions, we use a simplified version
|
||||
* of gettext */
|
||||
#undef USE_SIMPLE_GETTEXT
|
||||
/* At some point in the system we need to know that we use the Windows
|
||||
* random module. */
|
||||
#undef USE_STATIC_RNDW32
|
||||
|
||||
#undef USE_CAPABILITIES
|
||||
|
||||
|
@ -1,33 +1,32 @@
|
||||
Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* rndw32.c: New.
|
||||
|
||||
Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
* bithelp.h: New.
|
||||
* rmd160.h, sha1.h, md5.h: Use the rol macro from bithelp.h
|
||||
|
||||
Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* Makefile.am: Fixed seds for latest egcc. By Ollivier Robert.
|
||||
|
||||
Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* des.c (selftest): Add some testpattern
|
||||
|
||||
Mon Aug 30 20:38:33 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* cipher.c (do_cbc_encrypt): Fixed serious bug occuring when not using
|
||||
in place encryption. Pointed out by Frank Stajano.
|
||||
|
||||
Mon Jul 26 09:34:46 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* md5.c (md5_final): Fix for a SCO cpp bug.
|
||||
|
||||
Thu Jul 15 10:15:35 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* elgamal.c (elg_check_secret_key,elg_encrypt
|
||||
elg_decrypt,elg_sign,elg_verify): Sanity check on the args.
|
||||
* dsa.c (dsa_check_secret_key,dsa_sign,dsa_verify): Ditto.
|
||||
|
@ -10,14 +10,15 @@ noinst_LTLIBRARIES = libcipher.la
|
||||
# and EXTRA_foo_SOURCES entries.
|
||||
# Hmmm is there a more easy way to do this? (EXTRA_PROGRAMS
|
||||
# might also list programs which are not modules)
|
||||
# MODULES: rndunix rndlinux rndegd
|
||||
# MODULES: rndunix rndlinux rndegd rndw32
|
||||
# MODULES: sha1 rmd160 md5 tiger
|
||||
EXTRA_PROGRAMS = rndunix rndlinux rndegd \
|
||||
EXTRA_PROGRAMS = rndunix rndlinux rndegd rndw32 \
|
||||
sha1 rmd160 md5 tiger
|
||||
|
||||
EXTRA_rndlinux_SOURCES = rndlinux.c
|
||||
EXTRA_rndunix_SOURCES = rndunix.c
|
||||
EXTRA_rndegd_SOURCES = rndegd.c
|
||||
EXTRA_rndw32_SOURCES = rndw32.c
|
||||
EXTRA_md5_SOURCES = md5.c
|
||||
EXTRA_rmd160_SOURCES = rmd160.c
|
||||
EXTRA_sha1_SOURCES = sha1.c
|
||||
@ -99,4 +100,3 @@ rndegd: $(srcdir)/rndegd.c
|
||||
$(COMPILE) $(DYNLINK_MOD_CFLAGS) -o rndegd $(srcdir)/rndegd.c
|
||||
|
||||
|
||||
|
||||
|
@ -31,4 +31,9 @@ void randomize_buffer( byte *buffer, size_t length, int level );
|
||||
byte *get_random_bits( size_t nbits, int level, int secure );
|
||||
void fast_random_poll( void );
|
||||
|
||||
/*-- rndw32.c --*/
|
||||
#ifdef USE_STATIC_RNDW32
|
||||
void rndw32_set_dll_name( const char *name );
|
||||
#endif
|
||||
|
||||
#endif /*G10_RANDOM_H*/
|
||||
|
28
configure.in
28
configure.in
@ -15,7 +15,7 @@ AM_CONFIG_HEADER(config.h)
|
||||
|
||||
VERSION=`cat $srcdir/VERSION`
|
||||
PACKAGE=gnupg
|
||||
ALL_LINGUAS="de es_ES fr it pl pt_BR ru"
|
||||
ALL_LINGUAS="de es_ES fr it pl pt_BR pt_PT ru"
|
||||
static_modules="sha1 md5 rmd160"
|
||||
AC_SUBST(VERSION)
|
||||
AC_SUBST(PACKAGE)
|
||||
@ -138,11 +138,31 @@ AC_ARG_WITH(capabilities,
|
||||
AC_MSG_RESULT($use_capabilities)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
dnl Checks for programs.
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
dnl
|
||||
dnl Setup some stuff depending on host/target.
|
||||
dnl
|
||||
case "${target}" in
|
||||
*-*-mingw32)
|
||||
# special stuff for Windoze NT
|
||||
# Do we need to set cross_compiling here or is it sufficient
|
||||
# to rely on AC_PROG_CC which is called later?
|
||||
cross_compiling=yes
|
||||
CC="${target}-gcc"
|
||||
CPP="${target}-gcc -E"
|
||||
RANLIB="${target}-ranlib"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_ARG_PROGRAM
|
||||
AC_PROG_MAKE_SET
|
||||
AM_SANITY_CHECK
|
||||
@ -181,14 +201,11 @@ try_gdbm=yes
|
||||
case "${target}" in
|
||||
*-*-mingw32)
|
||||
# special stuff for Windoze NT
|
||||
cross_compiling=yes
|
||||
CC="${target}-gcc"
|
||||
CPP="${target}-gcc -E"
|
||||
RANLIB="${target}-ranlib"
|
||||
ac_cv_have_dev_random=no
|
||||
AC_DEFINE(USE_ONLY_8DOT3)
|
||||
AC_DEFINE(HAVE_DRIVE_LETTERS)
|
||||
AC_DEFINE(HAVE_DOSISH_SYSTEM)
|
||||
AC_DEFINE(USE_SIMPLE_GETTEXT)
|
||||
try_gettext="no"
|
||||
try_gdbm="no"
|
||||
;;
|
||||
@ -489,6 +506,7 @@ if test "$use_static_rnd" = default; then
|
||||
case "${target}" in
|
||||
*-*-mingw32)
|
||||
static_modules="$static_modules rndw32"
|
||||
AC_DEFINE(USE_STATIC_RNDW32)
|
||||
;;
|
||||
i?86-emx-os2|i?86-*-os2*emx)
|
||||
static_modules="$static_modules rndos2"
|
||||
|
@ -1219,6 +1219,13 @@ This is not for normal use. Use the source to see for what it might be useful.
|
||||
This is not for normal use. Use the source to see for what it might be useful.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--entropy-dll-name &ParmFile;</term>
|
||||
<listitem><para>
|
||||
This option is only used for the Win32 version of GnuPG and changes the
|
||||
default location (c:/gnupg/entropy.dll) of the Winseed DLL to &ParmFile;.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
@ -1,3 +1,8 @@
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* g10.c: New option --entropy-dll-name
|
||||
|
||||
Mon Sep 13 10:51:29 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
|
13
g10/g10.c
13
g10/g10.c
@ -177,6 +177,7 @@ enum cmd_and_opt_values { aNull = 0,
|
||||
oAllowNonSelfsignedUID,
|
||||
oNoLiteral,
|
||||
oSetFilesize,
|
||||
oEntropyDLLName,
|
||||
aTest };
|
||||
|
||||
|
||||
@ -338,6 +339,7 @@ static ARGPARSE_OPTS opts[] = {
|
||||
{ oAllowNonSelfsignedUID, "allow-non-selfsigned-uid", 0, "@" },
|
||||
{ oNoLiteral, "no-literal", 0, "@" },
|
||||
{ oSetFilesize, "set-filesize", 20, "@" },
|
||||
{ oEntropyDLLName, "entropy-dll-name", 2, "@" },
|
||||
{0} };
|
||||
|
||||
|
||||
@ -438,6 +440,9 @@ build_list( const char *text, const char * (*mapf)(int), int (*chkf)(int) )
|
||||
static void
|
||||
i18n_init(void)
|
||||
{
|
||||
#ifdef USE_SIMPLE_GETTEXT
|
||||
set_gettext_file( PACKAGE );
|
||||
#else
|
||||
#ifdef ENABLE_NLS
|
||||
#ifdef HAVE_LC_MESSAGES
|
||||
setlocale( LC_TIME, "" );
|
||||
@ -448,6 +453,7 @@ i18n_init(void)
|
||||
bindtextdomain( PACKAGE, G10_LOCALEDIR );
|
||||
textdomain( PACKAGE );
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
@ -859,6 +865,13 @@ main( int argc, char **argv )
|
||||
opt.set_filesize = pargs.r.ret_ulong;
|
||||
break;
|
||||
|
||||
case oEntropyDLLName:
|
||||
#ifdef USE_STATIC_RNDW32
|
||||
log_info("set dllname to `%s'\n", pargs.r.ret_str );
|
||||
rndw32_set_dll_name( pargs.r.ret_str );
|
||||
#endif
|
||||
break;
|
||||
|
||||
default : pargs.err = configfp? 1:2; break;
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ static struct helptexts { const char *key; const char *help; } helptexts[] = {
|
||||
)},
|
||||
|
||||
{ "detached_signature.filename", N_(
|
||||
"Give the name fo the file to which the signature applies"
|
||||
"Give the name of the file to which the signature applies"
|
||||
)},
|
||||
|
||||
/* openfile.c (overwrite_filep) */
|
||||
|
@ -312,7 +312,9 @@ proc_encrypted( CTX c, PACKET *pkt )
|
||||
|
||||
/*log_debug("dat: %sencrypted data\n", c->dek?"":"conventional ");*/
|
||||
if( !c->dek && !c->last_was_session_key ) {
|
||||
/* assume this is old conventional encrypted data */
|
||||
/* assume this is old conventional encrypted data
|
||||
* Actually we should use IDEA and MD5 in this case, but becuase
|
||||
* IDEA is patented we can't do so */
|
||||
c->dek = passphrase_to_dek( NULL, 0,
|
||||
opt.def_cipher_algo ? opt.def_cipher_algo
|
||||
: DEFAULT_CIPHER_ALGO, NULL, 0 );
|
||||
|
@ -1,3 +1,8 @@
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* i18n.h: Add support for simple-gettext.
|
||||
|
||||
Tue Jun 29 21:44:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
|
@ -21,6 +21,14 @@
|
||||
#ifndef G10_I18N_H
|
||||
#define G10_I18N_H
|
||||
|
||||
#ifdef USE_SIMPLE_GETTEXT
|
||||
int set_gettext_file( const char *filename );
|
||||
const char *gettext( const char *msgid );
|
||||
|
||||
#define _(a) gettext (a)
|
||||
#define N_(a) (a)
|
||||
|
||||
#else
|
||||
#ifdef HAVE_LOCALE_H
|
||||
#include <locale.h> /* suggested by Ernst Molitor */
|
||||
#endif
|
||||
@ -37,5 +45,6 @@
|
||||
#define _(a) (a)
|
||||
#define N_(a) (a)
|
||||
#endif
|
||||
#endif /* !USE_SIMPLE_GETTEXT */
|
||||
|
||||
#endif /*G10_I18N_H*/
|
||||
|
@ -1,11 +1,16 @@
|
||||
Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* pt_PT.po: New. Done by Pedro Morais.
|
||||
|
||||
* it.po: Updated by Marco.
|
||||
|
||||
Tue Sep 7 16:23:36 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
* pl.po: Updated.
|
||||
|
||||
Mon Sep 6 19:59:08 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* fr.po: Imported and fixed a msgid.
|
||||
* de.po: Ditto.
|
||||
* pt_BR.po: Ditto.
|
||||
|
2
po/de.po
2
po/de.po
@ -3471,7 +3471,7 @@ msgstr ""
|
||||
"übereinstimmen, wird das Mantra akzeptiert."
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr ""
|
||||
"Geben Sie den Namen der Datei an, zu dem die abgetrennte Unterschrift gehört"
|
||||
|
||||
|
@ -3409,7 +3409,7 @@ msgid "Please repeat the last passphrase, so you are sure what you typed in."
|
||||
msgstr ""
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr ""
|
||||
|
||||
#: g10/helptext.c:218
|
||||
|
2
po/fr.po
2
po/fr.po
@ -3440,7 +3440,7 @@ msgstr ""
|
||||
"Répétez le dernier mot de passe pour être sûr de ce que vous avez tapé."
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr "Donnez le nom du fichier auquel la signature se rapporte"
|
||||
|
||||
#: g10/helptext.c:218
|
||||
|
368
po/it.po
368
po/it.po
@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnupg-0.9.7\n"
|
||||
"Project-Id-Version: gnupg-1.0.0\n"
|
||||
"POT-Creation-Date: 1999-09-05 19:21+0200\n"
|
||||
"PO-Revision-Date: 1999-08-17 23:04+02:00\n"
|
||||
"PO-Revision-Date: 1999-09-09 15:51+02:00\n"
|
||||
"Last-Translator: Marco d'Itri <md@linux.it>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -35,11 +35,11 @@ msgstr "sS"
|
||||
|
||||
#: util/miscutil.c:279 util/miscutil.c:307
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
msgstr "no"
|
||||
|
||||
#: util/miscutil.c:280 util/miscutil.c:310
|
||||
msgid "nN"
|
||||
msgstr ""
|
||||
msgstr "nN"
|
||||
|
||||
#: g10/keyedit.c:564 util/miscutil.c:308
|
||||
msgid "quit"
|
||||
@ -1133,18 +1133,16 @@ msgid "No such user ID.\n"
|
||||
msgstr "User ID inesistente.\n"
|
||||
|
||||
#: g10/pkclist.c:756
|
||||
#, fuzzy
|
||||
msgid "skipped: public key already set as default recipient\n"
|
||||
msgstr "%s: saltato: chiave pubblica già presente\n"
|
||||
msgstr "saltato: chiave pubblica già impostata come destinatario predefinito\n"
|
||||
|
||||
#: g10/pkclist.c:778
|
||||
msgid "Public key is disabled.\n"
|
||||
msgstr "La chiave pubblica è disabilitata.\n"
|
||||
|
||||
#: g10/pkclist.c:785
|
||||
#, fuzzy
|
||||
msgid "skipped: public key already set with --encrypt-to\n"
|
||||
msgstr "%s: saltato: chiave pubblica già presente\n"
|
||||
msgstr "saltato: chiave pubblica già impostata con --encrypt-to\n"
|
||||
|
||||
#: g10/pkclist.c:816
|
||||
#, c-format
|
||||
@ -1550,14 +1548,12 @@ msgid "RSA key cannot be used in this version\n"
|
||||
msgstr "In questa versione non possono essere usate chiavi RSA\n"
|
||||
|
||||
#: g10/getkey.c:1291 g10/getkey.c:1330
|
||||
#, fuzzy
|
||||
msgid "No key for user ID\n"
|
||||
msgstr "Non ci sono chiavi per questo user-id\n"
|
||||
msgstr "Non ci sono chiavi per questo user ID\n"
|
||||
|
||||
#: g10/getkey.c:1369 g10/getkey.c:1409
|
||||
#, fuzzy
|
||||
msgid "No user ID for key\n"
|
||||
msgstr "Non ci sono user-id per questa chiave\n"
|
||||
msgstr "Non ci sono user ID per questa chiave\n"
|
||||
|
||||
#: g10/getkey.c:1565 g10/getkey.c:1621
|
||||
#, c-format
|
||||
@ -1640,14 +1636,14 @@ msgid " secret keys unchanged: %lu\n"
|
||||
msgstr "chiavi segrete non cambiate: %lu\n"
|
||||
|
||||
#: g10/import.c:362 g10/import.c:554
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: no user ID\n"
|
||||
msgstr "chiave %08lX: nessun user id\n"
|
||||
msgstr "chiave %08lX: nessun user ID\n"
|
||||
|
||||
#: g10/import.c:376
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: no valid user IDs\n"
|
||||
msgstr "chiave %08lX: nessun user id valido\n"
|
||||
msgstr "chiave %08lX: nessun user ID valido\n"
|
||||
|
||||
#: g10/import.c:378
|
||||
msgid "this may be caused by a missing self-signature\n"
|
||||
@ -1698,14 +1694,14 @@ msgid "key %08lX: can't read original keyblock: %s\n"
|
||||
msgstr "chiave %08lX: impossibile leggere il keyblock originale: %s\n"
|
||||
|
||||
#: g10/import.c:469
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: 1 new user ID\n"
|
||||
msgstr "chiave %08lX: un nuovo user id\n"
|
||||
msgstr "chiave %08lX: 1 nuovo user ID\n"
|
||||
|
||||
#: g10/import.c:472
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: %d new user IDs\n"
|
||||
msgstr "chiave %08lX: %d nuovi user id\n"
|
||||
msgstr "chiave %08lX: %d nuovi user ID\n"
|
||||
|
||||
#: g10/import.c:475
|
||||
#, c-format
|
||||
@ -1766,9 +1762,9 @@ msgid "key %08lX: revocation certificate imported\n"
|
||||
msgstr "chiave %08lX: certificato di revoca importato\n"
|
||||
|
||||
#: g10/import.c:711
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: no user ID for signature\n"
|
||||
msgstr "chiave %08lX: nessun user id per la firma\n"
|
||||
msgstr "chiave %08lX: nessun user ID per la firma\n"
|
||||
|
||||
#: g10/import.c:718 g10/import.c:742
|
||||
#, c-format
|
||||
@ -1791,14 +1787,14 @@ msgid "key %08lX: invalid subkey binding\n"
|
||||
msgstr "chiave %08lX: legame con la subchiave non valido:\n"
|
||||
|
||||
#: g10/import.c:769
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: accepted non self-signed user ID '"
|
||||
msgstr "chiave %08lX: accettato l'user-id non autofirmato '"
|
||||
msgstr "chiave %08lX: accettato l'user ID non autofirmato '"
|
||||
|
||||
#: g10/import.c:798
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "key %08lX: skipped user ID '"
|
||||
msgstr "chiave %08lX: saltato l'user-id '"
|
||||
msgstr "chiave %08lX: saltato l'user ID '"
|
||||
|
||||
#: g10/import.c:821
|
||||
#, c-format
|
||||
@ -1863,7 +1859,7 @@ msgstr "%d firme non corrette\n"
|
||||
|
||||
#: g10/keyedit.c:223
|
||||
msgid "1 signature not checked due to a missing key\n"
|
||||
msgstr "1 firma non controllata per mancanza della chiave\n"
|
||||
msgstr "una firma non controllata per mancanza della chiave\n"
|
||||
|
||||
#: g10/keyedit.c:225
|
||||
#, c-format
|
||||
@ -1872,7 +1868,7 @@ msgstr "%d firme non controllate per mancanza delle chiavi\n"
|
||||
|
||||
#: g10/keyedit.c:227
|
||||
msgid "1 signature not checked due to an error\n"
|
||||
msgstr "1 firma non controllata a causa di un errore\n"
|
||||
msgstr "una firma non controllata a causa di un errore\n"
|
||||
|
||||
#: g10/keyedit.c:229
|
||||
#, c-format
|
||||
@ -1880,14 +1876,13 @@ msgid "%d signatures not checked due to errors\n"
|
||||
msgstr "%d firme non controllate a causa di errori\n"
|
||||
|
||||
#: g10/keyedit.c:231
|
||||
#, fuzzy
|
||||
msgid "1 user ID without valid self-signature detected\n"
|
||||
msgstr "Trovato 1 user id senza autofirma valida\n"
|
||||
msgstr "Trovato un user ID senza autofirma valida\n"
|
||||
|
||||
#: g10/keyedit.c:233
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "%d user IDs without valid self-signatures detected\n"
|
||||
msgstr "Trovati %d user id senza autofirme valide\n"
|
||||
msgstr "Trovati %d user ID senza autofirme valide\n"
|
||||
|
||||
#. Fixme: see whether there is a revocation in which
|
||||
#. * case we should allow to sign it again.
|
||||
@ -2000,9 +1995,8 @@ msgid "list"
|
||||
msgstr "list"
|
||||
|
||||
#: g10/keyedit.c:570
|
||||
#, fuzzy
|
||||
msgid "list key and user IDs"
|
||||
msgstr "elenca le chiavi e gli user id"
|
||||
msgstr "elenca le chiavi e gli user ID"
|
||||
|
||||
#: g10/keyedit.c:571
|
||||
msgid "l"
|
||||
@ -2013,9 +2007,8 @@ msgid "uid"
|
||||
msgstr "uid"
|
||||
|
||||
#: g10/keyedit.c:572
|
||||
#, fuzzy
|
||||
msgid "select user ID N"
|
||||
msgstr "scegli l'user id N"
|
||||
msgstr "scegli l'user ID N"
|
||||
|
||||
#: g10/keyedit.c:573
|
||||
msgid "key"
|
||||
@ -2066,18 +2059,16 @@ msgid "adduid"
|
||||
msgstr "adduid"
|
||||
|
||||
#: g10/keyedit.c:580
|
||||
#, fuzzy
|
||||
msgid "add a user ID"
|
||||
msgstr "aggiungi un user id"
|
||||
msgstr "aggiungi un user ID"
|
||||
|
||||
#: g10/keyedit.c:581
|
||||
msgid "deluid"
|
||||
msgstr "deluid"
|
||||
|
||||
#: g10/keyedit.c:581
|
||||
#, fuzzy
|
||||
msgid "delete user ID"
|
||||
msgstr "cancella un user id"
|
||||
msgstr "cancella un user ID"
|
||||
|
||||
#: g10/keyedit.c:582
|
||||
msgid "addkey"
|
||||
@ -2198,14 +2189,12 @@ msgid "Need the secret key to do this.\n"
|
||||
msgstr "Per fare questo serve la chiave segreta.\n"
|
||||
|
||||
#: g10/keyedit.c:758
|
||||
#, fuzzy
|
||||
msgid "Really sign all user IDs? "
|
||||
msgstr "Firmo davvero tutti gli user id? "
|
||||
msgstr "Firmo davvero tutti gli user ID? "
|
||||
|
||||
#: g10/keyedit.c:759
|
||||
#, fuzzy
|
||||
msgid "Hint: Select the user IDs to sign\n"
|
||||
msgstr "Suggerimento: seleziona gli user id da firmare\n"
|
||||
msgstr "Suggerimento: seleziona gli user ID da firmare\n"
|
||||
|
||||
#: g10/keyedit.c:786 g10/keyedit.c:968
|
||||
#, c-format
|
||||
@ -2213,24 +2202,20 @@ msgid "update of trustdb failed: %s\n"
|
||||
msgstr "aggiornamento del trustdb fallito: %s\n"
|
||||
|
||||
#: g10/keyedit.c:797 g10/keyedit.c:818
|
||||
#, fuzzy
|
||||
msgid "You must select at least one user ID.\n"
|
||||
msgstr "Devi selezionare almeno un user id.\n"
|
||||
msgstr "Devi selezionare almeno un user ID.\n"
|
||||
|
||||
#: g10/keyedit.c:799
|
||||
#, fuzzy
|
||||
msgid "You can't delete the last user ID!\n"
|
||||
msgstr "Non puoi cancellare l'ultimo user id!\n"
|
||||
msgstr "Non puoi cancellare l'ultimo user ID!\n"
|
||||
|
||||
#: g10/keyedit.c:802
|
||||
#, fuzzy
|
||||
msgid "Really remove all selected user IDs? "
|
||||
msgstr "Tolgo davvero tutti gli user id selezionati? "
|
||||
msgstr "Tolgo davvero tutti gli user ID selezionati? "
|
||||
|
||||
#: g10/keyedit.c:803
|
||||
#, fuzzy
|
||||
msgid "Really remove this user ID? "
|
||||
msgstr "Tolgo davvero questo user id? "
|
||||
msgstr "Tolgo davvero questo user ID? "
|
||||
|
||||
#: g10/keyedit.c:839 g10/keyedit.c:861
|
||||
msgid "You must select at least one key.\n"
|
||||
@ -2337,9 +2322,9 @@ msgid "No corresponding signature in secret ring\n"
|
||||
msgstr "Manca la firma corrispondente nel portachiavi segreto\n"
|
||||
|
||||
#: g10/keyedit.c:1566
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "No user ID with index %d\n"
|
||||
msgstr "Nessun user id con l'indice %d\n"
|
||||
msgstr "Nessun user ID con l'indice %d\n"
|
||||
|
||||
#: g10/keyedit.c:1612
|
||||
#, c-format
|
||||
@ -2366,30 +2351,22 @@ msgstr "Creare un certificato di revoca per questa firma? (s/N)"
|
||||
|
||||
#. FIXME: detect duplicates here
|
||||
#: g10/keyedit.c:1740
|
||||
#, fuzzy
|
||||
msgid "You have signed these user IDs:\n"
|
||||
msgstr "Non puoi cancellare l'ultimo user id!\n"
|
||||
msgstr "Non puoi cancellare l'ultimo user ID!\n"
|
||||
|
||||
#: g10/keyedit.c:1754 g10/keyedit.c:1789
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid " signed by %08lX at %s\n"
|
||||
msgstr ""
|
||||
"\"\n"
|
||||
"firmata con la tua chiave %08lX a %s\n"
|
||||
"\n"
|
||||
msgstr " firmata da %08lX il %s\n"
|
||||
|
||||
#: g10/keyedit.c:1759
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid " revoked by %08lX at %s\n"
|
||||
msgstr ""
|
||||
"\"\n"
|
||||
"firmata con la tua chiave %08lX a %s\n"
|
||||
"\n"
|
||||
msgstr " revocata da %08lX il %s\n"
|
||||
|
||||
#: g10/keyedit.c:1779
|
||||
#, fuzzy
|
||||
msgid "You are about to revoke these signatures:\n"
|
||||
msgstr "Vuoi davvero revocare le chiavi selezionate? "
|
||||
msgstr "Stai per revocare queste firme:\n"
|
||||
|
||||
#: g10/keyedit.c:1797
|
||||
msgid "Really create the revocation certificates? (y/N)"
|
||||
@ -3032,9 +3009,8 @@ msgid "Ooops, no keys\n"
|
||||
msgstr "Ooops, mancano le chiavi\n"
|
||||
|
||||
#: g10/trustdb.c:2061
|
||||
#, fuzzy
|
||||
msgid "Ooops, no user IDs\n"
|
||||
msgstr "Ooops, mancano gli user id\n"
|
||||
msgstr "Ooops, mancano gli user ID\n"
|
||||
|
||||
#: g10/trustdb.c:2218
|
||||
#, c-format
|
||||
@ -3202,27 +3178,24 @@ msgstr ""
|
||||
"ho provato %d volte!\n"
|
||||
|
||||
#: g10/delkey.c:93
|
||||
#, fuzzy
|
||||
msgid "there is a secret key for this public key!\n"
|
||||
msgstr "rimuove una chiave dal portachiavi pubblico"
|
||||
msgstr "c'è una chiave segreta per questa chiave pubblica!\n"
|
||||
|
||||
#: g10/delkey.c:95
|
||||
msgid "use option \"--delete-secret-key\" to delete it first.\n"
|
||||
msgstr ""
|
||||
msgstr "prima usa l'opzione \"--delete-secret-key\" per cancellarla.\n"
|
||||
|
||||
#: g10/delkey.c:111
|
||||
#, fuzzy
|
||||
msgid "can't do that in batchmode without \"--yes\"\n"
|
||||
msgstr "impossibile fare questo in modo batch\n"
|
||||
msgstr "impossibile fare questo in modo batch senza \"--yes\"\n"
|
||||
|
||||
#: g10/delkey.c:133
|
||||
#, fuzzy
|
||||
msgid "Delete this key from the keyring? "
|
||||
msgstr "rimuove una chiave dal portachiavi pubblico"
|
||||
msgstr "Vuoi cancellare questa chiave dal portachiavi? "
|
||||
|
||||
#: g10/delkey.c:141
|
||||
msgid "This is a secret key! - really delete? "
|
||||
msgstr ""
|
||||
msgstr "È una chaive segreta! - Vuoi cancellarla davvero? "
|
||||
|
||||
#: g10/helptext.c:47
|
||||
msgid ""
|
||||
@ -3230,19 +3203,23 @@ msgid ""
|
||||
"to any 3rd party. We need it to implement the web-of-trust; it has nothing\n"
|
||||
"to do with the (implicitly created) web-of-certificates."
|
||||
msgstr ""
|
||||
"E compito tuo assegnare un valore; questo valore non sarà mai esportato a\n"
|
||||
"terzi. Ci serve per implementare il web-of-trust; non ha nulla a che fare\n"
|
||||
"con il web-of-certificates (creato implicitamente)."
|
||||
|
||||
#: g10/helptext.c:53
|
||||
msgid "If you want to use this revoked key anyway, answer \"yes\"."
|
||||
msgstr ""
|
||||
msgstr "Se vuoi usare comunque questa chiave revocata, rispondi \"si\"."
|
||||
|
||||
#: g10/helptext.c:57
|
||||
msgid "If you want to use this untrusted key anyway, answer \"yes\"."
|
||||
msgstr ""
|
||||
msgstr "Se vuoi usare comunque questa chiave non fidata, rispondi \"si\"."
|
||||
|
||||
#: g10/helptext.c:61
|
||||
msgid ""
|
||||
"Enter the user ID of the addressee to whom you want to send the message."
|
||||
msgstr ""
|
||||
"Inserisci l'user ID del destinatario a cui vuoi mandare il messaggio."
|
||||
|
||||
#: g10/helptext.c:65
|
||||
msgid ""
|
||||
@ -3264,6 +3241,25 @@ msgid ""
|
||||
"this is the reason why the encryption only ElGamal key is not available in\n"
|
||||
"this menu."
|
||||
msgstr ""
|
||||
"Seleziona l'algoritmo da usare.\n"
|
||||
"\n"
|
||||
"DSA (alias DSS) è un algoritmo usabile solo per firmare. E l'algoritmo\n"
|
||||
"suggerito perché verificare firme DSA è molto più veloce di quelle ElGamal.\n"
|
||||
"\n"
|
||||
"ElGamal è un algoritmo usabile per firmare e cifrare.\n"
|
||||
"OpenPGP distingue tra due versioni di questo algoritmo: una solo per "
|
||||
"firmare\n"
|
||||
"e una per firmare e cifrare. In realtà è sempre lo stesso, ma per creare\n"
|
||||
"firme sicure per la cifratura occorre scegliere in un modo particolare "
|
||||
"alcuni\n"
|
||||
"parametri: questo programma lo fa ma non è richiesto che altre "
|
||||
"implementazioni\n"
|
||||
"di OpenPGP capiscano la versione per firmare e cifrare.\n"
|
||||
"\n"
|
||||
"La prima chiave (primaria) deve sempre essere una chiave in grado di "
|
||||
"firmare;\n"
|
||||
"questo è il motivo per cui le chiavi ElGamal solo per cifrare non sono\n"
|
||||
"disponibili in questo menù."
|
||||
|
||||
#: g10/helptext.c:85
|
||||
msgid ""
|
||||
@ -3271,16 +3267,19 @@ msgid ""
|
||||
"because they are not supported by all programs and signatures created\n"
|
||||
"with them are quite large and very slow to verify."
|
||||
msgstr ""
|
||||
"Anche se queste chiavi sono definite da RFC2400 non sono suggerite perché "
|
||||
"non\n"
|
||||
"sono gestite da tutti i programmi e le firme create sono grandi e lunghe da\n"
|
||||
"verificare."
|
||||
|
||||
#: g10/helptext.c:92
|
||||
#, fuzzy
|
||||
msgid "Enter the size of the key"
|
||||
msgstr "Inserisci l'user ID: "
|
||||
msgstr "Inserisci le dimensioni della chiave"
|
||||
|
||||
#: g10/helptext.c:96 g10/helptext.c:101 g10/helptext.c:113 g10/helptext.c:145
|
||||
#: g10/helptext.c:150 g10/helptext.c:155 g10/helptext.c:160
|
||||
msgid "Answer \"yes\" or \"no\""
|
||||
msgstr ""
|
||||
msgstr "Rispondi \"si\" o \"no\""
|
||||
|
||||
#: g10/helptext.c:106
|
||||
msgid ""
|
||||
@ -3289,19 +3288,22 @@ msgid ""
|
||||
"get a good error response - instead the system tries to interpret\n"
|
||||
"the given value as an interval."
|
||||
msgstr ""
|
||||
"Inserisci il valore richiesto come indicato dal prompt.\n"
|
||||
"È possibile inserire una data in formato ISO (YYYY-MM-DD) ma non avrai un\n"
|
||||
"messaggio di errore corretto: il sistema cerca di interpretare il valore\n"
|
||||
"dato come un intervallo."
|
||||
|
||||
#: g10/helptext.c:118
|
||||
msgid "Enter the name of the key holder"
|
||||
msgstr ""
|
||||
msgstr "Inserisci il nome del proprietario della chiave"
|
||||
|
||||
#: g10/helptext.c:123
|
||||
msgid "please enter an optional but highly suggested email address"
|
||||
msgstr ""
|
||||
msgstr "Inserisci un indirizzo di email opzionale (ma fortemente suggerito)"
|
||||
|
||||
#: g10/helptext.c:127
|
||||
#, fuzzy
|
||||
msgid "Please enter an optional comment"
|
||||
msgstr "Inserisci il nome del file di dati: "
|
||||
msgstr "Inserisci un commento opzionale"
|
||||
|
||||
#: g10/helptext.c:132
|
||||
msgid ""
|
||||
@ -3311,24 +3313,31 @@ msgid ""
|
||||
"O to continue with key generation.\n"
|
||||
"Q to to quit the key generation."
|
||||
msgstr ""
|
||||
"N per cambiare il nome.\n"
|
||||
"C per cambiare il commento.\n"
|
||||
"E per cambiare l'indirizzo di email.\n"
|
||||
"O per continuare con la generazione della chiave.\n"
|
||||
"Q per abbandonare il processo di generazione della chiave."
|
||||
|
||||
#: g10/helptext.c:141
|
||||
msgid "Answer \"yes\" (or just \"y\") if it is okay to generate the sub key."
|
||||
msgstr ""
|
||||
msgstr "Rispondi \"si\" (o \"y\") se va bene generare la subchiave."
|
||||
|
||||
#: g10/helptext.c:164
|
||||
msgid "Answer \"yes\" is you want to sign ALL the user IDs"
|
||||
msgstr ""
|
||||
msgstr "Rispondi \"si\" se vuoi firmare TUTTI gli user ID"
|
||||
|
||||
#: g10/helptext.c:168
|
||||
msgid ""
|
||||
"Answer \"yes\" if you really want to delete this user ID.\n"
|
||||
"All certificates are then also lost!"
|
||||
msgstr ""
|
||||
"Rispondi \"si\" se vuoi davvero cancellare questo user ID.\n"
|
||||
"Tutti i certificati saranno persi!"
|
||||
|
||||
#: g10/helptext.c:173
|
||||
msgid "Answer \"yes\" if it is okay to delete the subkey"
|
||||
msgstr ""
|
||||
msgstr "Rispondi \"si\" se va bene cancellare la subchiave"
|
||||
|
||||
#: g10/helptext.c:178
|
||||
msgid ""
|
||||
@ -3336,6 +3345,9 @@ msgid ""
|
||||
"to delete this signature because it may be important to establish a\n"
|
||||
"trust connection to the key or another key certified by this key."
|
||||
msgstr ""
|
||||
"Questa è una firma valida per la chiave. Normalmente non vorresti cancellare\n"
|
||||
"questa firma perchè può essere importante per stabilire una connessione di\n"
|
||||
"fiducia alla chiave o a un'altra chiave certificata da questa chiave."
|
||||
|
||||
#: g10/helptext.c:183
|
||||
msgid ""
|
||||
@ -3344,12 +3356,18 @@ msgid ""
|
||||
"know which key was used because this signing key might establish\n"
|
||||
"a trust connection through another already certified key."
|
||||
msgstr ""
|
||||
"Questa firma non può essere verificata perchè non hai la chiave "
|
||||
"corrispondente.\n"
|
||||
"Dovresti rimandare la sua cancellazione finchè non saprai quale chiave è "
|
||||
"stata\n"
|
||||
"usata perchè questa chiave potrebbe stabilire una connessione di fiducia\n"
|
||||
"attraverso una chiave già certificata."
|
||||
|
||||
#: g10/helptext.c:189
|
||||
msgid ""
|
||||
"The signature is not valid. It does make sense to remove it from\n"
|
||||
"your keyring."
|
||||
msgstr ""
|
||||
msgstr "La firma non è valida. Ha senso rimuoverla dal tuo portachiavi."
|
||||
|
||||
#: g10/helptext.c:193
|
||||
msgid ""
|
||||
@ -3359,30 +3377,40 @@ msgid ""
|
||||
"only if this self-signature is for some reason not valid and\n"
|
||||
"a second one is available."
|
||||
msgstr ""
|
||||
"Questa è una firma che collega l'user id alla chiave. Solitamente non è una\n"
|
||||
"buona idea rimuovere questo tipo di firma. In realtà GnuPG potrebbe non "
|
||||
"essere\n"
|
||||
"più in grado di usare questa chiave. Quindi fallo solo se questa autofirma "
|
||||
"non\n"
|
||||
"è valida per qualche ragione e ne è disponibile un'altra."
|
||||
|
||||
#: g10/helptext.c:202
|
||||
msgid ""
|
||||
"Please enter the passhrase; this is a secret sentence \n"
|
||||
" Blurb, blurb,.... "
|
||||
msgstr ""
|
||||
"Inserisci la passphrase, cioè una frase segreta.\n"
|
||||
" bla, bla, bla..."
|
||||
|
||||
#: g10/helptext.c:209
|
||||
msgid "Please repeat the last passphrase, so you are sure what you typed in."
|
||||
msgstr ""
|
||||
msgstr "Ripeti l'ultima passphrase per essere sicuro di cosa hai scritto."
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgstr ""
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr "Inserisci il nome del file a cui si riferisce la firma."
|
||||
|
||||
#: g10/helptext.c:218
|
||||
msgid "Answer \"yes\" if it is okay to overwrite the file"
|
||||
msgstr ""
|
||||
msgstr "Rispondi \"si\" se va bene sovrascrivere il file."
|
||||
|
||||
#: g10/helptext.c:223
|
||||
msgid ""
|
||||
"Please enter a new filename. If you just hit RETURN the default\n"
|
||||
"file (which is shown in brackets) will be used."
|
||||
msgstr ""
|
||||
"Inserisci il nuovo nome del file. Se premi INVIO sarà usato il nome\n"
|
||||
"predefinito (quello indicato tra parentesi)."
|
||||
|
||||
#: g10/helptext.c:237
|
||||
msgid "No help available"
|
||||
@ -3393,153 +3421,3 @@ msgstr "Non
|
||||
msgid "No help available for `%s'"
|
||||
msgstr "Non è disponibile un aiuto per `%s'"
|
||||
|
||||
#~ msgid "edit_ownertrust.value"
|
||||
#~ msgstr ""
|
||||
#~ "È compito tuo assegnare un valore; questo valore non sarà mai esportato a\n"
|
||||
#~ "terzi. Ci serve per implementare il web-of-trust; non ha nulla a che fare\n"
|
||||
#~ "con il web-of-certificates (creato implicitamente)."
|
||||
|
||||
#~ msgid "revoked_key.override"
|
||||
#~ msgstr "Se vuoi usare comunque questa chiave revocata, rispondi \"sì\"."
|
||||
|
||||
#~ msgid "untrusted_key.override"
|
||||
#~ msgstr "Se vuoi usare comunque questa chiave non fidata, rispondi \"sì\"."
|
||||
|
||||
#~ msgid "pklist.user_id.enter"
|
||||
#~ msgstr ""
|
||||
#~ "Inserisci l'user id del destinatario a cui vuoi mandare il messaggio."
|
||||
|
||||
#~ msgid "keygen.algo"
|
||||
#~ msgstr ""
|
||||
#~ "Seleziona l'algoritmo da usare.\n"
|
||||
#~ "DSA (alias DSS) è un algoritmo usabile solo per firmare. È l'algoritmo\n"
|
||||
#~ "suggerito perché verificare firme DSA è molto più veloce di quelle ElGamal.\n"
|
||||
#~ "ElGamal è un algoritmo usabile per firmare e cifrare.\n"
|
||||
#~ "OpenPGP distingue tra due versioni di questo algoritmo: una solo per "
|
||||
#~ "firmare\n"
|
||||
#~ "e una per firmare e cifrare. In realtà è sempre lo stesso, per creare firme\n"
|
||||
#~ "sicure per la cifratura occorre scegliere in un modo particolare alcuni\n"
|
||||
#~ "parametri: questo programma lo fa ma non è richiesto che altre "
|
||||
#~ "implementazioni\n"
|
||||
#~ "di OpenPGP capiscano la versione per firmare e cifrare.\n"
|
||||
#~ "La prima chiave (primaria) deve sempre essere una chiave in grado di "
|
||||
#~ "firmare;\n"
|
||||
#~ "questo è il motivo per cui le chiavi ElGamal solo per cifrare sono\n"
|
||||
#~ "disabilitate."
|
||||
|
||||
#~ msgid "keygen.algo.elg_se"
|
||||
#~ msgstr ""
|
||||
#~ "Anche se queste chiavi sono definite da RFC2400 non sono suggerite perché "
|
||||
#~ "non\n"
|
||||
#~ "sono gestite da tutti i programmi e le firme create sono grandi e lunghe da\n"
|
||||
#~ "verificare."
|
||||
|
||||
#~ msgid "keygen.size"
|
||||
#~ msgstr "Inserisci le dimensioni della chiave"
|
||||
|
||||
#~ msgid "keygen.size.huge.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keygen.size.large.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keygen.valid"
|
||||
#~ msgstr ""
|
||||
#~ "Inserisci il valore richiesto come indicato dal prompt.\n"
|
||||
#~ "È possibile inserire una data in formato ISO (YYYY-MM-DD) ma non avrai un\n"
|
||||
#~ "messaggio di errore corretto: il sistema cerca di interpretare il valore\n"
|
||||
#~ "dato come un intervallo."
|
||||
|
||||
#~ msgid "keygen.valid.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keygen.name"
|
||||
#~ msgstr "Inserisci il nome del proprietario della chiave"
|
||||
|
||||
#~ msgid "keygen.email"
|
||||
#~ msgstr "Inserisci un indirizzo di email opzionale (ma fortemente suggerito)"
|
||||
|
||||
#~ msgid "keygen.comment"
|
||||
#~ msgstr "Inserisci un commento opzionale"
|
||||
|
||||
#~ msgid "keygen.userid.cmd"
|
||||
#~ msgstr ""
|
||||
#~ "N per cambiare il nome\n"
|
||||
#~ "C per cambiare il commento\n"
|
||||
#~ "E per cambiare l'indirizzo di email\n"
|
||||
#~ "O per continuare con la generazione della chiave\n"
|
||||
#~ "Q per abbandonare il processo di generazione della chiave"
|
||||
|
||||
#~ msgid "keygen.sub.okay"
|
||||
#~ msgstr "Rispondi \"sì\" (o \"y\") se va bene generare la subchiave."
|
||||
|
||||
#~ msgid "sign_uid.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "change_passwd.empty.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keyedit.save.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keyedit.cancel.okay"
|
||||
#~ msgstr "Rispondi \"sì\" o \"no\""
|
||||
|
||||
#~ msgid "keyedit.sign_all.okay"
|
||||
#~ msgstr "Rispondi \"sì\" se vuoi firmare TUTTI gli user id."
|
||||
|
||||
#~ msgid "keyedit.remove.uid.okay"
|
||||
#~ msgstr ""
|
||||
#~ "Rispondi \"sì\" se vuoi davvero cancellare questo user id.\n"
|
||||
#~ "Tutti i certificati saranno persi!"
|
||||
|
||||
#~ msgid "keyedit.remove.subkey.okay"
|
||||
#~ msgstr "Rispondi \"sì\" se va bene cancellare la subchiave"
|
||||
|
||||
#~ msgid "keyedit.delsig.valid"
|
||||
#~ msgstr ""
|
||||
#~ "Questa è una firma valida per la chiave. Normalmente non vorresti "
|
||||
#~ "cancellare\n"
|
||||
#~ "questa firma perchè può essere importante per stabilire una connessione di\n"
|
||||
#~ "fiducia alla chiave o a un'altra chiave certificata da questa chiave."
|
||||
|
||||
#~ msgid "keyedit.delsig.unknown"
|
||||
#~ msgstr ""
|
||||
#~ "Questa firma non può essere verificata perchè non hai la chiave "
|
||||
#~ "corrispondente.\n"
|
||||
#~ "Dovresti rimandare la sua cancellazione finchè non saprai quale chiave è "
|
||||
#~ "stata\n"
|
||||
#~ "usata perchè questa chiave potrebbe stabilire una connessione di fiducia\n"
|
||||
#~ "attraverso una chiave già certificata."
|
||||
|
||||
#~ msgid "keyedit.delsig.invalid"
|
||||
#~ msgstr "Questa firma non è valida. Ha senso rimuoverla dal tuo portachiavi."
|
||||
|
||||
#~ msgid "keyedit.delsig.selfsig"
|
||||
#~ msgstr ""
|
||||
#~ "Questa è la firma che collega l'user id alla chiave. Solitamente non è una\n"
|
||||
#~ "buona idea rimuovere questo tipo di firme. In realtà GnuPG potrebbe non "
|
||||
#~ "essere\n"
|
||||
#~ "più in grado di usare questa chiave. Quindi fallo solo se questa autofirma "
|
||||
#~ "non\n"
|
||||
#~ "è valida per qualche ragione e ne è disponibile un'altra."
|
||||
|
||||
#~ msgid "passphrase.enter"
|
||||
#~ msgstr ""
|
||||
#~ "Inserisci la passphrase, cioè una frase segreta.\n"
|
||||
#~ "bla, bla, bla..."
|
||||
|
||||
#~ msgid "passphrase.repeat"
|
||||
#~ msgstr "Ripeti l'ultima passphrase per essere sicuro di cosa hai scritto."
|
||||
|
||||
#~ msgid "detached_signature.filename"
|
||||
#~ msgstr "Inserisci il nome del file a cui la firma si riferisce."
|
||||
|
||||
#~ msgid "openfile.overwrite.okay"
|
||||
#~ msgstr "Rispondi \"sì\" se va bene sovrascrivere il file."
|
||||
|
||||
#~ msgid "openfile.askoutname"
|
||||
#~ msgstr ""
|
||||
#~ "Inserisci il nuovo nome del file.\n"
|
||||
#~ "Se premi INVIO sarà usato il nome predefinito (quello indicato tra "
|
||||
#~ "parentesi)."
|
||||
|
2
po/pl.po
2
po/pl.po
@ -3437,7 +3437,7 @@ msgstr ""
|
||||
"Proszę powrótrzyć wyrażenie przejściowe, aby upewnić się że nie było pomyłki."
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr "Nazwa pliku którego dotyczy podpis"
|
||||
|
||||
#: g10/helptext.c:218
|
||||
|
@ -3435,7 +3435,7 @@ msgstr ""
|
||||
"digitou."
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr "Dê o nome para o arquivo ao qual a assinatura se aplica"
|
||||
|
||||
#: g10/helptext.c:218
|
||||
|
3413
po/pt_PT.po
Normal file
3413
po/pt_PT.po
Normal file
File diff suppressed because it is too large
Load Diff
2
po/ru.po
2
po/ru.po
@ -3500,7 +3500,7 @@ msgid "Please repeat the last passphrase, so you are sure what you typed in."
|
||||
msgstr ""
|
||||
|
||||
#: g10/helptext.c:213
|
||||
msgid "Give the name fo the file to which the signature applies"
|
||||
msgid "Give the name of the file to which the signature applies"
|
||||
msgstr ""
|
||||
|
||||
#: g10/helptext.c:218
|
||||
|
@ -1,3 +1,8 @@
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* gnupg.spec: Add Portuguese description
|
||||
|
||||
Thu Sep 2 16:40:55 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
Wed Sep 15 16:22:17 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
* simple-gettext.c: New.
|
||||
|
||||
Wed Sep 1 15:30:44 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ noinst_LTLIBRARIES = libutil.la
|
||||
libutil_la_LDFLAGS =
|
||||
libutil_la_SOURCES = g10u.c logger.c fileutil.c miscutil.c strgutil.c \
|
||||
ttyio.c argparse.c memory.c secmem.c errors.c iobuf.c \
|
||||
dotlock.c http.c
|
||||
dotlock.c http.c simple-gettext.c
|
||||
|
||||
|
||||
http-test: http.c
|
||||
|
@ -844,7 +844,7 @@ show_version()
|
||||
/* additional program info */
|
||||
for(i=30; i < 40; i++ )
|
||||
if( (s=strusage(i)) )
|
||||
fputs(s, stdout);
|
||||
fputs( (const byte*)s, stdout);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
|
468
util/simple-gettext.c
Normal file
468
util/simple-gettext.c
Normal file
@ -0,0 +1,468 @@
|
||||
/* simple-gettext.c - a simplified version of gettext.
|
||||
* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
* GnuPG 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.
|
||||
*
|
||||
* GnuPG is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*/
|
||||
|
||||
/* This is a simplified version of gettext written by Ulrich Drepper.
|
||||
* It is used for the Win32 version of GnuPG becuase all the overhead
|
||||
* of gettext is not needed and we have to do some special Win32 stuff.
|
||||
* I decided that this is far easier than to tweak gettext for the special
|
||||
* cases (I tried it but it is a lot of code). wk 15.09.99
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#ifdef USE_SIMPLE_GETTEXT
|
||||
#ifndef __MINGW32__
|
||||
#error This file can only be used with MinGW32
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <windows.h>
|
||||
#include "types.h"
|
||||
#include "util.h"
|
||||
|
||||
|
||||
/* The magic number of the GNU message catalog format. */
|
||||
#define MAGIC 0x950412de
|
||||
#define MAGIC_SWAPPED 0xde120495
|
||||
|
||||
/* Revision number of the currently used .mo (binary) file format. */
|
||||
#define MO_REVISION_NUMBER 0
|
||||
|
||||
|
||||
/* Header for binary .mo file format. */
|
||||
struct mo_file_header
|
||||
{
|
||||
/* The magic number. */
|
||||
u32 magic;
|
||||
/* The revision number of the file format. */
|
||||
u32 revision;
|
||||
/* The number of strings pairs. */
|
||||
u32 nstrings;
|
||||
/* Offset of table with start offsets of original strings. */
|
||||
u32 orig_tab_offset;
|
||||
/* Offset of table with start offsets of translation strings. */
|
||||
u32 trans_tab_offset;
|
||||
/* Size of hashing table. */
|
||||
u32 hash_tab_size;
|
||||
/* Offset of first hashing entry. */
|
||||
u32 hash_tab_offset;
|
||||
};
|
||||
|
||||
struct string_desc
|
||||
{
|
||||
/* Length of addressed string. */
|
||||
u32 length;
|
||||
/* Offset of string in file. */
|
||||
u32 offset;
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct loaded_domain
|
||||
{
|
||||
char *data;
|
||||
int must_swap;
|
||||
u32 nstrings;
|
||||
char *mapped;
|
||||
struct string_desc *orig_tab;
|
||||
struct string_desc *trans_tab;
|
||||
u32 hash_size;
|
||||
u32 *hash_tab;
|
||||
};
|
||||
|
||||
|
||||
static struct loaded_domain *the_domain;
|
||||
|
||||
static __inline__ u32
|
||||
do_swap_u32( u32 i )
|
||||
{
|
||||
return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
|
||||
}
|
||||
|
||||
#define SWAPIT(flag, data) ((flag) ? do_swap_u32(data) : (data) )
|
||||
|
||||
|
||||
/* We assume to have `unsigned long int' value with at least 32 bits. */
|
||||
#define HASHWORDBITS 32
|
||||
|
||||
/* 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__ ulong
|
||||
hash_string( const char *str_param )
|
||||
{
|
||||
unsigned long int hval, g;
|
||||
const char *str = str_param;
|
||||
|
||||
hval = 0;
|
||||
while (*str != '\0')
|
||||
{
|
||||
hval <<= 4;
|
||||
hval += (unsigned long int) *str++;
|
||||
g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
|
||||
if (g != 0)
|
||||
{
|
||||
hval ^= g >> (HASHWORDBITS - 8);
|
||||
hval ^= g;
|
||||
}
|
||||
}
|
||||
return hval;
|
||||
}
|
||||
|
||||
|
||||
static struct loaded_domain *
|
||||
load_domain( const char *filename )
|
||||
{
|
||||
FILE *fp;
|
||||
size_t size;
|
||||
struct stat st;
|
||||
struct mo_file_header *data = NULL;
|
||||
struct loaded_domain *domain = NULL;
|
||||
size_t to_read;
|
||||
char *read_ptr;
|
||||
|
||||
fp = fopen( filename, "rb" );
|
||||
if( !fp )
|
||||
return NULL; /* can't open the file */
|
||||
/* we must know about the size of the file */
|
||||
if( fstat( fileno(fp ), &st )
|
||||
|| (size = (size_t)st.st_size) != st.st_size
|
||||
|| size < sizeof (struct mo_file_header) ) {
|
||||
fclose( fp );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
data = malloc( size );
|
||||
if( !data ) {
|
||||
fclose( fp );
|
||||
return NULL; /* out of memory */
|
||||
}
|
||||
|
||||
to_read = size;
|
||||
read_ptr = (char *) data;
|
||||
do {
|
||||
long int nb = fread( read_ptr, 1, to_read, fp );
|
||||
if( nb < to_read ) {
|
||||
fclose (fp);
|
||||
free(data);
|
||||
return NULL; /* read error */
|
||||
}
|
||||
read_ptr += nb;
|
||||
to_read -= nb;
|
||||
} while( to_read > 0 );
|
||||
fclose (fp);
|
||||
|
||||
/* Using the magic number we can test whether it really is a message
|
||||
* catalog file. */
|
||||
if( data->magic != MAGIC && data->magic != MAGIC_SWAPPED ) {
|
||||
/* The magic number is wrong: not a message catalog file. */
|
||||
free( data );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
domain = calloc( 1, sizeof *domain );
|
||||
if( !domain ) {
|
||||
free( data );
|
||||
return NULL;
|
||||
}
|
||||
domain->data = (char *) data;
|
||||
domain->must_swap = data->magic != MAGIC;
|
||||
|
||||
/* Fill in the information about the available tables. */
|
||||
switch( SWAPIT(domain->must_swap, data->revision) ) {
|
||||
case 0:
|
||||
domain->nstrings = SWAPIT(domain->must_swap, data->nstrings);
|
||||
domain->orig_tab = (struct string_desc *)
|
||||
((char *) data + SWAPIT(domain->must_swap, data->orig_tab_offset));
|
||||
domain->trans_tab = (struct string_desc *)
|
||||
((char *) data + SWAPIT(domain->must_swap, data->trans_tab_offset));
|
||||
domain->hash_size = SWAPIT(domain->must_swap, data->hash_tab_size);
|
||||
domain->hash_tab = (u32 *)
|
||||
((char *) data + SWAPIT(domain->must_swap, data->hash_tab_offset));
|
||||
break;
|
||||
|
||||
default: /* This is an invalid revision. */
|
||||
free( data );
|
||||
free( domain );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* allocate an array to keep track of code page mappings */
|
||||
domain->mapped = calloc( 1, domain->nstrings );
|
||||
if( !domain->mapped ) {
|
||||
free( data );
|
||||
free( domain );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return domain;
|
||||
}
|
||||
|
||||
|
||||
/****************
|
||||
* Set the file used for translations. Pass a NULL to disable
|
||||
* translation. A new filename may be set at anytime.
|
||||
* WARNING: After changing the filename you shoudl not access any data
|
||||
* retrieved by gettext().
|
||||
*/
|
||||
int
|
||||
set_gettext_file( const char *filename )
|
||||
{
|
||||
struct loaded_domain *domain = NULL;
|
||||
|
||||
if( filename && *filename ) {
|
||||
if( filename[0] == '/'
|
||||
#ifdef HAVE_DRIVE_LETTERS
|
||||
|| ( isalpha(filename[0])
|
||||
&& filename[1] == ':'
|
||||
&& (filename[2] == '/' || filename[2] == '\\') )
|
||||
#endif
|
||||
) {
|
||||
/* absolute path - use it as is */
|
||||
log_info("trying `%s'\n", filename );
|
||||
domain = load_domain( filename );
|
||||
}
|
||||
else { /* relative path - append ".mo" and get DIR from env */
|
||||
char *buf = NULL;
|
||||
const char *s;
|
||||
|
||||
s = getenv("MINGW32_NLS_DIR");
|
||||
if( s && (buf=malloc(strlen(s)+strlen(filename)+1+3+1)) ) {
|
||||
strcpy(stpcpy(stpcpy(stpcpy( buf, s),"/"), filename),".mo");
|
||||
domain = load_domain( buf );
|
||||
free(buf);
|
||||
}
|
||||
}
|
||||
if( !domain )
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( the_domain ) {
|
||||
free( the_domain->data );
|
||||
free( the_domain->mapped );
|
||||
free( the_domain );
|
||||
the_domain = NULL;
|
||||
}
|
||||
the_domain = domain;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static const char*
|
||||
get_string( struct loaded_domain *domain, u32 idx )
|
||||
{
|
||||
char *p = domain->data + SWAPIT(domain->must_swap,
|
||||
domain->trans_tab[idx].offset);
|
||||
if( !domain->mapped[idx] ) {
|
||||
byte *pp;
|
||||
|
||||
domain->mapped[idx] = 1;
|
||||
/* we assume Latin1 -> CP 850 for now */
|
||||
for( pp=p; *pp; pp++ ) {
|
||||
if( (*pp & 0x80) ) {
|
||||
switch( *pp ) {
|
||||
/* ISO-8859-1 to IBM-CP-850 */
|
||||
case 0xa0: *pp = '\xff' ; break; /* nobreakspace */
|
||||
case 0xa1: *pp = '\xad' ; break; /* exclamdown */
|
||||
case 0xa2: *pp = '\xbd' ; break; /* cent */
|
||||
case 0xa3: *pp = '\x9c' ; break; /* sterling */
|
||||
case 0xa4: *pp = '\xcf' ; break; /* currency */
|
||||
case 0xa5: *pp = '\xbe' ; break; /* yen */
|
||||
case 0xa6: *pp = '\xdd' ; break; /* brokenbar */
|
||||
case 0xa7: *pp = '\xf5' ; break; /* section */
|
||||
case 0xa8: *pp = '\xf9' ; break; /* diaeresis */
|
||||
case 0xa9: *pp = '\xb8' ; break; /* copyright */
|
||||
case 0xaa: *pp = '\xa6' ; break; /* ordfeminine */
|
||||
case 0xab: *pp = '\xae' ; break; /* guillemotleft */
|
||||
case 0xac: *pp = '\xaa' ; break; /* notsign */
|
||||
case 0xad: *pp = '\xf0' ; break; /* hyphen */
|
||||
case 0xae: *pp = '\xa9' ; break; /* registered */
|
||||
case 0xaf: *pp = '\xee' ; break; /* macron */
|
||||
case 0xb0: *pp = '\xf8' ; break; /* degree */
|
||||
case 0xb1: *pp = '\xf1' ; break; /* plusminus */
|
||||
case 0xb2: *pp = '\xfd' ; break; /* twosuperior */
|
||||
case 0xb3: *pp = '\xfc' ; break; /* threesuperior */
|
||||
case 0xb4: *pp = '\xef' ; break; /* acute */
|
||||
case 0xb5: *pp = '\xe6' ; break; /* mu */
|
||||
case 0xb6: *pp = '\xf4' ; break; /* paragraph */
|
||||
case 0xb7: *pp = '\xfa' ; break; /* periodcentered */
|
||||
case 0xb8: *pp = '\xf7' ; break; /* cedilla */
|
||||
case 0xb9: *pp = '\xfb' ; break; /* onesuperior */
|
||||
case 0xba: *pp = '\xa7' ; break; /* masculine */
|
||||
case 0xbb: *pp = '\xaf' ; break; /* guillemotright */
|
||||
case 0xbc: *pp = '\xac' ; break; /* onequarter */
|
||||
case 0xbd: *pp = '\xab' ; break; /* onehalf */
|
||||
case 0xbe: *pp = '\xf3' ; break; /* threequarters */
|
||||
case 0xbf: *pp = '\xa8' ; break; /* questiondown */
|
||||
case 0xc0: *pp = '\xb7' ; break; /* Agrave */
|
||||
case 0xc1: *pp = '\xb5' ; break; /* Aacute */
|
||||
case 0xc2: *pp = '\xb6' ; break; /* Acircumflex */
|
||||
case 0xc3: *pp = '\xc7' ; break; /* Atilde */
|
||||
case 0xc4: *pp = '\x8e' ; break; /* Adiaeresis */
|
||||
case 0xc5: *pp = '\x8f' ; break; /* Aring */
|
||||
case 0xc6: *pp = '\x92' ; break; /* AE */
|
||||
case 0xc7: *pp = '\x80' ; break; /* Ccedilla */
|
||||
case 0xc8: *pp = '\xd4' ; break; /* Egrave */
|
||||
case 0xc9: *pp = '\x90' ; break; /* Eacute */
|
||||
case 0xca: *pp = '\xd2' ; break; /* Ecircumflex */
|
||||
case 0xcb: *pp = '\xd3' ; break; /* Ediaeresis */
|
||||
case 0xcc: *pp = '\xde' ; break; /* Igrave */
|
||||
case 0xcd: *pp = '\xd6' ; break; /* Iacute */
|
||||
case 0xce: *pp = '\xd7' ; break; /* Icircumflex */
|
||||
case 0xcf: *pp = '\xd8' ; break; /* Idiaeresis */
|
||||
case 0xd0: *pp = '\xd1' ; break; /* Eth */
|
||||
case 0xd1: *pp = '\xa5' ; break; /* Ntilde */
|
||||
case 0xd2: *pp = '\xe3' ; break; /* Ograve */
|
||||
case 0xd3: *pp = '\xe0' ; break; /* Oacute */
|
||||
case 0xd4: *pp = '\xe2' ; break; /* Ocircumflex */
|
||||
case 0xd5: *pp = '\xe5' ; break; /* Otilde */
|
||||
case 0xd6: *pp = '\x99' ; break; /* Odiaeresis */
|
||||
case 0xd7: *pp = '\x9e' ; break; /* multiply */
|
||||
case 0xd8: *pp = '\x9d' ; break; /* Ooblique */
|
||||
case 0xd9: *pp = '\xeb' ; break; /* Ugrave */
|
||||
case 0xda: *pp = '\xe9' ; break; /* Uacute */
|
||||
case 0xdb: *pp = '\xea' ; break; /* Ucircumflex */
|
||||
case 0xdc: *pp = '\x9a' ; break; /* Udiaeresis */
|
||||
case 0xdd: *pp = '\xed' ; break; /* Yacute */
|
||||
case 0xde: *pp = '\xe8' ; break; /* Thorn */
|
||||
case 0xdf: *pp = '\xe1' ; break; /* ssharp */
|
||||
case 0xe0: *pp = '\x85' ; break; /* agrave */
|
||||
case 0xe1: *pp = '\xa0' ; break; /* aacute */
|
||||
case 0xe2: *pp = '\x83' ; break; /* acircumflex */
|
||||
case 0xe3: *pp = '\xc6' ; break; /* atilde */
|
||||
case 0xe4: *pp = '\x84' ; break; /* adiaeresis */
|
||||
case 0xe5: *pp = '\x86' ; break; /* aring */
|
||||
case 0xe6: *pp = '\x91' ; break; /* ae */
|
||||
case 0xe7: *pp = '\x87' ; break; /* ccedilla */
|
||||
case 0xe8: *pp = '\x8a' ; break; /* egrave */
|
||||
case 0xe9: *pp = '\x82' ; break; /* eacute */
|
||||
case 0xea: *pp = '\x88' ; break; /* ecircumflex */
|
||||
case 0xeb: *pp = '\x89' ; break; /* ediaeresis */
|
||||
case 0xec: *pp = '\x8d' ; break; /* igrave */
|
||||
case 0xed: *pp = '\xa1' ; break; /* iacute */
|
||||
case 0xee: *pp = '\x8c' ; break; /* icircumflex */
|
||||
case 0xef: *pp = '\x8b' ; break; /* idiaeresis */
|
||||
case 0xf0: *pp = '\xd0' ; break; /* eth */
|
||||
case 0xf1: *pp = '\xa4' ; break; /* ntilde */
|
||||
case 0xf2: *pp = '\x95' ; break; /* ograve */
|
||||
case 0xf3: *pp = '\xa2' ; break; /* oacute */
|
||||
case 0xf4: *pp = '\x93' ; break; /* ocircumflex */
|
||||
case 0xf5: *pp = '\xe4' ; break; /* otilde */
|
||||
case 0xf6: *pp = '\x94' ; break; /* odiaeresis */
|
||||
case 0xf7: *pp = '\xf6' ; break; /* division */
|
||||
case 0xf8: *pp = '\x9b' ; break; /* oslash */
|
||||
case 0xf9: *pp = '\x97' ; break; /* ugrave */
|
||||
case 0xfa: *pp = '\xa3' ; break; /* uacute */
|
||||
case 0xfb: *pp = '\x96' ; break; /* ucircumflex */
|
||||
case 0xfc: *pp = '\x81' ; break; /* udiaeresis */
|
||||
case 0xfd: *pp = '\xec' ; break; /* yacute */
|
||||
case 0xfe: *pp = '\xe7' ; break; /* thorn */
|
||||
case 0xff: *pp = '\x98' ; break; /* ydiaeresis */
|
||||
default : break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return (const char*)p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char *
|
||||
gettext( const char *msgid )
|
||||
{
|
||||
struct loaded_domain *domain;
|
||||
size_t act = 0;
|
||||
size_t top, bottom;
|
||||
|
||||
if( !(domain = the_domain) )
|
||||
goto not_found;
|
||||
|
||||
/* Locate the MSGID and its translation. */
|
||||
if( domain->hash_size > 2 && domain->hash_tab ) {
|
||||
/* Use the hashing table. */
|
||||
u32 len = strlen (msgid);
|
||||
u32 hash_val = hash_string (msgid);
|
||||
u32 idx = hash_val % domain->hash_size;
|
||||
u32 incr = 1 + (hash_val % (domain->hash_size - 2));
|
||||
u32 nstr = SWAPIT (domain->must_swap, domain->hash_tab[idx]);
|
||||
|
||||
if ( !nstr ) /* Hash table entry is empty. */
|
||||
goto not_found;
|
||||
|
||||
if( SWAPIT(domain->must_swap,
|
||||
domain->orig_tab[nstr - 1].length) == len
|
||||
&& !strcmp( msgid,
|
||||
domain->data + SWAPIT(domain->must_swap,
|
||||
domain->orig_tab[nstr - 1].offset)) )
|
||||
return get_string( domain, nstr - 1 );
|
||||
|
||||
for(;;) {
|
||||
if (idx >= domain->hash_size - incr)
|
||||
idx -= domain->hash_size - incr;
|
||||
else
|
||||
idx += incr;
|
||||
|
||||
nstr = SWAPIT(domain->must_swap, domain->hash_tab[idx]);
|
||||
if( !nstr )
|
||||
goto not_found; /* Hash table entry is empty. */
|
||||
|
||||
if ( SWAPIT(domain->must_swap,
|
||||
domain->orig_tab[nstr - 1].length) == len
|
||||
&& !strcmp (msgid,
|
||||
domain->data + SWAPIT(domain->must_swap,
|
||||
domain->orig_tab[nstr - 1].offset)))
|
||||
return get_string( domain, nstr-1 );
|
||||
}
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
/* Now we try the default method: binary search in the sorted
|
||||
array of messages. */
|
||||
bottom = 0;
|
||||
top = domain->nstrings;
|
||||
while( bottom < top ) {
|
||||
int cmp_val;
|
||||
|
||||
act = (bottom + top) / 2;
|
||||
cmp_val = strcmp(msgid, domain->data
|
||||
+ SWAPIT(domain->must_swap,
|
||||
domain->orig_tab[act].offset));
|
||||
if (cmp_val < 0)
|
||||
top = act;
|
||||
else if (cmp_val > 0)
|
||||
bottom = act + 1;
|
||||
else
|
||||
return get_string( domain, act );
|
||||
}
|
||||
|
||||
not_found:
|
||||
return msgid;
|
||||
}
|
||||
|
||||
|
||||
#endif /* USE_SIMPLE_GETTEXT */
|
17
util/ttyio.c
17
util/ttyio.c
@ -107,6 +107,23 @@ init_ttyfp(void)
|
||||
SetConsoleMode(con.in, DEF_INPMODE );
|
||||
SetConsoleMode(con.out, DEF_OUTMODE );
|
||||
|
||||
#warning DEBUG CODE
|
||||
{
|
||||
unsigned int cp1, cp2;
|
||||
|
||||
cp1 = GetConsoleCP();
|
||||
cp2 = GetConsoleOutputCP();
|
||||
|
||||
log_info("InputCP=%u OutputCP=%u\n", cp1, cp2 );
|
||||
|
||||
if( !SetConsoleOutputCP( 1252 ) )
|
||||
log_info("SetConsoleOutputCP failed: %d\n", (int)GetLastError() );
|
||||
|
||||
cp1 = GetConsoleCP();
|
||||
cp2 = GetConsoleOutputCP();
|
||||
log_info("InputCP=%u OutputCP=%u after switch1\n", cp1, cp2 );
|
||||
|
||||
}
|
||||
#elif defined(__EMX__)
|
||||
ttyfp = stdout; /* Fixme: replace by the real functions: see wklib */
|
||||
#else
|
||||
|
Loading…
x
Reference in New Issue
Block a user