[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [LCFC] po4a://manpages-fr-extra/openssl/po4a/crypto/po/fr.po



Bonjour,

Voici, comme demandé, le diff entre le fichier de base et le fichier
actuel, sans la dernière correction dans ce thread ( qui sera intégrée
dès que j'aurais le temps de la lire! )

Sincèrement,
Oliver Hamm
--- openssl_fr.po	2014-04-14 11:30:58.194394571 +0200
+++ old_openssl_fr.po	2014-04-16 12:12:55.081389518 +0200
@@ -8,9 +8,9 @@
 msgstr ""
 "Project-Id-Version: openssl\n"
 "POT-Creation-Date: 2013-05-29 23:24-0400\n"
-"PO-Revision-Date: 2014-04-10 10:37+0200\n"
-"Last-Translator: Oliver Hamm <oliver.c.hamm@gmail.com>\n"
-"Language-Team: French <>\n"
+"PO-Revision-Date: 2012-08-28 18:08-0400\n"
+"Last-Translator: none yet\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -177,7 +177,7 @@
 "L<CONF_modules_load_file(3), CONF_modules_load_file(3)>"
 msgstr ""
 "L<B<OPENSSL_config>(3)|OPENSSL_config(3)>, L<B<CONF_modules_load_file>(3)|"
-"CONF_modules_load_file(3)>, L<B<conf>(5)|conf(5)>"
+"CONF_modules_load_file(3)>, L<B<config>(5)|config(5)>"
 
 #. type: =head1
 #: C/crypto/CONF_modules_free.pod:42 C/crypto/CONF_modules_load_file.pod:56
@@ -197,7 +197,7 @@
 "CONF_modules_free(), CONF_modules_unload(), and CONF_modules_finish()  first "
 "appeared in OpenSSL 0.9.7."
 msgstr ""
-"CONF_modules_free(), CONF_modules_unload() et CONF_modules_finish() sont "
+"CONF_modules_free(), CONF_modules_unload(), et CONF_modules_finish() sont "
 "apparues dans la version 0.9.7 d'OpenSSL."
 
 #. type: verbatim
@@ -207,9 +207,6 @@
 " CONF_modules_load_file, CONF_modules_load - OpenSSL configuration functions\n"
 "\n"
 msgstr ""
-" CONF_modules_load_file, CONF_modules_load - Fonctions de configuration "
-"d'OpenSSL\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/CONF_modules_load_file.pod:11
@@ -221,11 +218,6 @@
 "\t\t      unsigned long flags);\n"
 "\n"
 msgstr ""
-" int CONF_modules_load_file(const char *filename, const char *appname,\n"
-"\t\t\t   unsigned long flags);\n"
-" int CONF_modules_load(const CONF *cnf, const char *appname,\n"
-"\t\t      unsigned long flags);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:18
@@ -236,11 +228,6 @@
 "standard OpenSSL application name B<openssl_conf> is used.  The behaviour "
 "can be cutomized using B<flags>."
 msgstr ""
-"La fonction CONF_modules_load_file() configure OpenSSL en utilisant le "
-"fichier B<filename> et l'application B<appname>. Si B<filename> vaut NULL, le "
-"fichier standard de configuration d'OpenSSL est utilisé. Si B<appname> vaut "
-"NULL, le nom B<openssl_conf> d'application standard d’OpenSSL est utilisé. Le "
-"comportement peut être personnalisé en utilisant B<flags>"
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:24
@@ -248,13 +235,11 @@
 "CONF_modules_load() is idential to CONF_modules_load_file() except it read "
 "configuration information from B<cnf>."
 msgstr ""
-"CONF_modules_load() est identique à CONF_modules_load_file() sauf qu'il lit "
-"l'information de configuration depuis B<cnf>."
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:29
 msgid "The following B<flags> are currently recognized:"
-msgstr "Les B<flags> suivants sont reconnus :"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:31
@@ -263,10 +248,6 @@
 "configuration modules are ignored. If not set the first module error is "
 "considered fatal and no further modules are loads."
 msgstr ""
-"Si B<CONF_MFLAGS_IGNORE_ERRORS> est activé, les erreurs renvoyées "
-"individuellement par les modules de configuration sont ignorées. Sinon la "
-"première erreur provenant d’un module sera considérée comme fatale et aucun "
-"autre module ne sera chargé."
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:35
@@ -274,9 +255,6 @@
 "Normally any modules errors will add error information to the error queue. "
 "If B<CONF_MFLAGS_SILENT> is set no error information is added."
 msgstr ""
-"Normalement, toutes les erreurs provenant des modules ajouteront des "
-"informations à la queue d’erreur. Si B<CONF_MFLAGS_SILENT> est activé, il "
-"n'y aura pas d'ajout d'information d'erreur."
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:38
@@ -284,8 +262,6 @@
 "If B<CONF_MFLAGS_NO_DSO> is set configuration module loading from DSOs is "
 "disabled."
 msgstr ""
-"Si B<CONF_MFLAGS_NO_DSO> est activé, le module de configuration chargeant à "
-"partir des DSO est désactivé."
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:41
@@ -294,9 +270,6 @@
 "()  ignore missing configuration files. Normally a missing configuration "
 "file return an error."
 msgstr ""
-"Si B<CONF_MFLAGS_IGNORE_MISSING_FILE> est activé, CONF_load_modules_file() "
-"ignorera l'absence de fichiers de configuration. Normalement un fichier de "
-"configuration absent renvoie une erreur."
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:47
@@ -305,10 +278,6 @@
 "failure. If module errors are not ignored the return code will reflect the "
 "return value of the failing module (this will always be zero or negative)."
 msgstr ""
-"Ces fonctions renvoient 1 pour un succès et 0 ou une valeur négative pour un "
-"échec. Si les erreurs des modules ne sont pas ignorées, le code de retour "
-"représentera la valeur de retour du module défaillant (cette valeur sera "
-"toujours inférieure ou égale à 0)."
 
 # NOTE: s/conf/config/ and s/, C/|C/
 #. type: textblock
@@ -317,16 +286,14 @@
 "L<conf(5)|conf(5)>, L<OPENSSL_config(3)|OPENSSL_config(3)>, L<CONF_free(3), "
 "CONF_free(3)>, L<err(3),err(3)>"
 msgstr ""
-"L<B<err>(3),err(3)>, L<B<OPENSSL_config>(3)|OPENSSL_config(3)>, L<B<CONF_free>"
-"(3)|CONF_free(3)>, L<B<conf>(5)|conf(5)>"
+"L<B<err>(3),err(3)>, L<B<OPENSSL_config>(3)|OPENSSL_config(3)>, "
+"L<B<CONF_free>(3)|CONF_free(3)>, L<B<config>(5)|config(5)>"
 
 #. type: textblock
 #: C/crypto/CONF_modules_load_file.pod:58
 msgid ""
 "CONF_modules_load_file and CONF_modules_load first appeared in OpenSSL 0.9.7."
 msgstr ""
-"CONF_modules_load_file et CONF_modules_load sont apparues dans la "
-"version 0.9.7 d'OpenSSL."
 
 #. type: textblock
 #: C/crypto/CRYPTO_set_ex_data.pod:5
@@ -374,10 +341,10 @@
 "them.  These functions are used internally by OpenSSL to manipulate "
 "application specific data attached to a specific structure."
 msgstr ""
-"Plusieurs structures d’OpenSSL peuvent avoir des données spécifiques "
-"d’application attachées. Ces fonctions sont utilisées en interne par OpenSSL "
-"pour manipuler des données spécifiques aux applications attachées à "
-"une structure particulière."
+"Plusieurs structures OpenSSL peuvent avoir des données spécifiques aux "
+"applications attachées. Ces fonctions sont utilisées en interne par OpenSSL "
+"pour manipuler des données spécifiques aux applications attachées aux "
+"structures."
 
 #. type: textblock
 #: C/crypto/CRYPTO_set_ex_data.pod:21
@@ -386,10 +353,10 @@
 "B<CRYPTO_EX_DATA> structures passed to the B<new_func()>, B<free_func()> and "
 "B<dup_func()> callbacks: as passed to B<RSA_get_ex_new_index()> for example."
 msgstr ""
-"Ces fonctions ne devraient être utilisées par les applications que pour "
-"manipuler les structures B<CRYPTO_EX_DATA> passées aux fonctions de rappel B<"
-"new_func>(), B<free_func>() et B<dup_func>() : comme passées à B<"
-"RSA_get_ex_new_index>() par exemple."
+"Ces fonctions ne devraient être utilisées que par les applications pour "
+"manipuler les structures B<CRYPTO_EX_DATA> passées aux fonctions de rappel "
+"B<new_func>(), B<free_func>() et B<dup_func>() : comme passées à "
+"B<RSA_get_ex_new_index>() par exemple."
 
 #. type: textblock
 #: C/crypto/CRYPTO_set_ex_data.pod:25
@@ -398,8 +365,8 @@
 "is supplied in the B<arg> parameter and its precise meaning is up to the "
 "application."
 msgstr ""
-"B<CRYPTO_set_ex_data>() est utilisée pour définir les données spécifiques aux "
-"applications, les données sont fournies par le paramètre I<arg> et sa "
+"B<CRYPTO_set_ex_data>() est utilisée pour définir les données spécifiques "
+"aux applications, les données sont fournies par le paramètre I<arg> et sa "
 "signification précise dépend de l'application."
 
 #. type: textblock
@@ -437,10 +404,9 @@
 "also be valid application data but currently it can only fail if given an "
 "invalid B<idx> parameter."
 msgstr ""
-"B<CRYPTO_get_ex_data>() renvoie les données de l'application en cas de succès "
-"et B<0> en cas d'échec. B<0> peut aussi être une donnée d'application "
-"valable, mais pour l'instant un échec n’est possible que si un paramètre I<"
-"idx> "
+"B<CRYPTO_get_ex_data>() renvoie les données de l'application en cas de "
+"succès et B<0> en cas d'échec. B<0> peut aussi être une donnée d'application "
+"valable, mais ça ne peut pour l'instant échouer que si un paramètre I<idx> "
 "incorrect est donné."
 
 #. type: textblock
@@ -449,8 +415,8 @@
 "On failure an error code can be obtained from L<ERR_get_error(3)|"
 "ERR_get_error(3)>."
 msgstr ""
-"En cas d'erreur, le code d'erreur peut être obtenu avec L<"
-"ERR_get_error(3)|ERR_get_error(3)>."
+"En cas d'erreur, le code d'erreur peut être obtenu avec L<ERR_get_error(3)|"
+"ERR_get_error(3)>."
 
 #. type: textblock
 #: C/crypto/CRYPTO_set_ex_data.pod:45
@@ -478,9 +444,6 @@
 "OBJ_sn2nid, OBJ_cmp, OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, "
 "OBJ_cleanup - ASN1 object utility functions"
 msgstr ""
-"OBJ_nid2obj, OBJ_nid2ln, OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2nid, "
-"OBJ_sn2nid, OBJ_cmp, OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, "
-"OBJ_cleanup - Fonctions utilitaires de l'objet ASN1."
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:11
@@ -538,9 +501,6 @@
 " int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);\n"
 "\n"
 msgstr ""
-" ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name);\n"
-" int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:26
@@ -550,9 +510,6 @@
 " ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o);\n"
 "\n"
 msgstr ""
-" int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b);\n"
-" ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:29
@@ -562,9 +519,6 @@
 " void OBJ_cleanup(void);\n"
 "\n"
 msgstr ""
-" int OBJ_create(const char *oid,const char *sn,const char *ln);\n"
-" void OBJ_cleanup(void);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:34
@@ -572,8 +526,6 @@
 "The ASN1 object utility functions process ASN1_OBJECT structures which are a "
 "representation of the ASN1 OBJECT IDENTIFIER (OID) type."
 msgstr ""
-"Les fonctions utilitaires de l'objet ASN1 traitent les structures ASN1_OBJECT "
-"qui sont une représentation du type ASN1 OBJECT IDENTIFIER (OID)."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:37
@@ -582,9 +534,6 @@
 "ASN1_OBJECT structure, its long name and its short name respectively, or "
 "B<NULL> is an error occurred."
 msgstr ""
-"OBJ_nid2obj(), OBJ_nid2ln() et OBJ_nid2sn() convertissent le NID B<n> vers "
-"une structure ASN1_OBJECT, son nom long et son nom court respectivement, ou "
-"B<NULL> s'il y a eu une erreur."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:41
@@ -593,9 +542,6 @@
 "the object B<o>, the long name <ln> or the short name <sn> respectively or "
 "NID_undef if an error occurred."
 msgstr ""
-"OBJ_obj2nid(), OBJ_ln2nid() et OBJ_sn2nid() renvoient le NID correspondant à "
-"l'objet B<o>, le nom long <ln> ou le nom court <sn> respectivement, ou "
-"NID_undef s'il y a eu une erreur."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:45
@@ -603,9 +549,6 @@
 "OBJ_txt2nid() returns NID corresponding to text string <s>. B<s> can be a "
 "long name, a short name or the numerical respresentation of an object."
 msgstr ""
-"OBJ_txt2nid() renvoie NID correspondant à la chaîne de caractères <s>. B<s> "
-"peut être un nom long, un nom court ou une représentation numérique d'un "
-"objet."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:48
@@ -615,10 +558,6 @@
 "well as numerical forms. If B<no_name> is 1 only the numerical form is "
 "acceptable."
 msgstr ""
-"OBJ_txt2obj() convertit la chaîne de caractères B<s> en une structure "
-"ASN1_OBJECT. Si B<no_name> vaut 0, alors les noms longs et courts ainsi que "
-"les formes numériques seront interprétés. Si B<no_name> vaut 1, seule la "
-"forme numérique est acceptée."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:53
@@ -631,27 +570,17 @@
 "otherwise the numerical form will be used. If B<no_name> is 1 then the "
 "numerical form will always be used."
 msgstr ""
-"OBJ_obj2txt() convertit le B<ASN1_OBJECT> B<a> en une représentation "
-"textuelle. La représentation est écrite sous forme de chaîne dans B<buf> avec "
-"une taille maximale de B<buf_len> et est terminée par null, le résultat est "
-"tronqué si nécessaire. La taille de l'espace nécessaire est renvoyée. Si B<"
-"no_name> vaut 0 et si l'objet a un nom long ou court alors ce nom sera "
-"utilisé, "
-"sinon la valeur numérique sera utilisée. Si B<no_name> vaut 1 alors la forme "
-"numérique sera toujours utilisée."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:61
 msgid ""
 "OBJ_cmp() compares B<a> to B<b>. If the two are identical 0 is returned."
 msgstr ""
-"OBJ_cmp() compare B<a> et B<b>. Si les deux sont identiques le code de retour "
-"sera 0."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:63
 msgid "OBJ_dup() returns a copy of B<o>."
-msgstr "OBJ_dup() renvoie une copie de B<o>."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:65
@@ -660,9 +589,6 @@
 "numerical form of the object, B<sn> the short name and B<ln> the long name. "
 "A new NID is returned for the created object."
 msgstr ""
-"OBJ_create() ajoute un nouvel objet à la table interne. B<oid> est la forme "
-"numérique provenant de l'objet, B<sn> le nom court et B<ln> le nom long. Un "
-"nouvel NID est renvoyé pour l'objet créé."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:69
@@ -671,9 +597,6 @@
 "called before an application exits if any new objects were added using "
 "OBJ_create()."
 msgstr ""
-"OBJ_cleanup() nettoie la table d'objets interne d'OpenSSL : celle-ci devrait "
-"être appelée avant qu'une application se termine si un objet a été ajouté en "
-"utilisant OBJ_create()."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:75
@@ -683,15 +606,11 @@
 "represented in an internal table. The appropriate values are defined in the "
 "header file B<objects.h>."
 msgstr ""
-"Dans OpenSSL les objets peuvent avoir un nom court, un nom long et un "
-"identifiant numérique (NID) qui leur sont associés. Un ensemble d'objets est "
-"représenté comme une table interne. Les valeurs appropriées sont définies "
-"dans le fichier d'en-tête B<objects.h>."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:80
 msgid "For example the OID for commonName has the following definitions:"
-msgstr "Par exemple l'OID pour commonName a les définitions suivantes :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:82
@@ -710,7 +629,7 @@
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:86
 msgid "New objects can be added by calling OBJ_create()."
-msgstr "De nouveaux objets peuvent être ajoutés en appelant OBJ_create()."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:88
@@ -720,17 +639,11 @@
 "constant structures which are shared: that is there is only a single "
 "constant structure for each table object."
 msgstr ""
-"Les tables ont un certain avantage par rapport aux autres objets : par "
-"exemple leurs NID peuvent être utilisés dans une déclaration de switch en C. "
-"Ce "
-"sont aussi des objets statiques constants qui sont échangés : il n'y a qu'une "
-"unique structure constante pour chaque table."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:93
 msgid "Objects which are not in the table have the NID value NID_undef."
 msgstr ""
-"Les objets n'étant pas dans la table ont NID_undef comme valeur de NID."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:95
@@ -739,9 +652,6 @@
 "functions OBJ_txt2obj() and OBJ_obj2txt() can process the numerical form of "
 "an OID."
 msgstr ""
-"Les objets n'ont pas besoin de tables internes pour êtres traités, les "
-"fonctions OBJ_txt2obj() et OBJ_obj2txt() peuvent traiter la forme numérique "
-"d'un OID."
 
 #. type: =head1
 #: C/crypto/OBJ_nid2obj.pod:99 C/crypto/pem.pod:325 C/crypto/threads.pod:190
@@ -751,7 +661,7 @@
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:101
 msgid "Create an object for B<commonName>:"
-msgstr "Créer un objet pour B<commonName>:"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:103
@@ -768,7 +678,7 @@
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:106
 msgid "Check if an object is B<commonName>"
-msgstr "Vérifier si un objet est B<commonName>"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:108
@@ -779,13 +689,13 @@
 "\n"
 msgstr ""
 " if (OBJ_obj2nid(obj) == NID_commonName)\n"
-"\t/* Faire quelque chose */\n"
+"\t/* Do something */\n"
 "\n"
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:111
 msgid "Create a new NID and initialize an object from it:"
-msgstr "Créer un nouveau NID et initialiser un objet à partir de celui-ci :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:113
@@ -796,10 +706,6 @@
 " new_nid = OBJ_create(\"1.2.3.4\", \"NewOID\", \"New Object Identifier\");\n"
 "\n"
 msgstr ""
-" int new_nid;\n"
-" ASN1_OBJECT *obj;\n"
-" new_nid = OBJ_create(\"1.2.3.4\", \"NewOID\", \"New Object Identifier\");\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:117
@@ -814,7 +720,7 @@
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:119
 msgid "Create a new object directly:"
-msgstr "Créer directement un nouvel objet :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/OBJ_nid2obj.pod:121
@@ -842,13 +748,6 @@
 "buffer length of 80 should be more than enough to handle any OID encountered "
 "in practice."
 msgstr ""
-"OBJ_obj2txt() est délicat et compliqué à utiliser : elle ne suit pas les "
-"conventions des autres fonctions d'OpenSSL ou le tampon peut être mis à B<"
-"NULL> pour déterminer la quantité de données qui devraient être écrites. Au "
-"lieu de "
-"cela B<buf> doit pointer vers un tampon valide et B<buf_len> doit être une "
-"valeur positive. Un tampon ayant une longueur de 80 devrait être suffisant "
-"pour traiter n'importe quel OID rencontré."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:134
@@ -856,16 +755,12 @@
 "OBJ_nid2obj() returns an B<ASN1_OBJECT> structure or B<NULL> is an error "
 "occurred."
 msgstr ""
-"OBJ_nid2obj() renvoie une structure B<ASN1_OBJECT> ou B<NULL> en cas "
-"d'erreur."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:137
 msgid ""
 "OBJ_nid2ln() and OBJ_nid2sn() returns a valid string or B<NULL> on error."
 msgstr ""
-"OBJ_nid2ln() et OBJ_nid2sn() renvoient une chaîne de caractères valide ou B<"
-"NULL> en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:140
@@ -873,8 +768,6 @@
 "OBJ_obj2nid(), OBJ_ln2nid(), OBJ_sn2nid() and OBJ_txt2nid() return a NID or "
 "B<NID_undef> on error."
 msgstr ""
-"OBJ_obj2nid(), OBJ_ln2nid(), OBJ_sn2nid() et OBJ_txt2nid() renvoient un NID "
-"ou B<NID_undef> en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/OBJ_nid2obj.pod:145
@@ -893,8 +786,7 @@
 " PEM_write_bio_CMS_stream - output CMS_ContentInfo structure in PEM format.\n"
 "\n"
 msgstr ""
-" PEM_write_bio_CMS_stream - Afficher une structure CMS_ContentInfo au format "
-"PEM\n"
+" PEM_write_bio_CMS_stream - Afficher une structure CMS_ContentInfo au format PEM\n"
 "\n"
 
 #. type: verbatim
@@ -913,12 +805,10 @@
 #: C/crypto/PEM_write_bio_CMS_stream.pod:12
 #, no-wrap
 msgid ""
-" int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *data, int "
-"flags);\n"
+" int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *data, int flags);\n"
 "\n"
 msgstr ""
-" int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *data, int "
-"flags);\n"
+" int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *data, int flags);\n"
 "\n"
 
 #. type: textblock
@@ -926,13 +816,13 @@
 msgid ""
 "PEM_write_bio_CMS_stream() outputs a CMS_ContentInfo structure in PEM format."
 msgstr ""
-"B<PEM_write_bio_CMS_stream>() produit une structure CMS_ContentInfo au "
+"B<PEM_write_bio_CMS_stream>() afficher une structure CMS_ContentInfo au "
 "format PEM."
 
 #. type: textblock
 #: C/crypto/PEM_write_bio_CMS_stream.pod:18
 msgid "It is otherwise identical to the function SMIME_write_CMS()."
-msgstr "Sinon, elle est identique à la fonction B<SMIME_write_CMS>()."
+msgstr "Elle est autrement identique à la fonction B<SMIME_write_CMS>()."
 
 #. type: textblock
 #: C/crypto/PEM_write_bio_CMS_stream.pod:22
@@ -940,8 +830,8 @@
 "This function is effectively a version of the PEM_write_bio_CMS() supporting "
 "streaming."
 msgstr ""
-"Cette fonction est effectivement une version de B<PEM_write_bio_CMS>() gérant "
-"les flux."
+"Cette fonction est effectivement une version de B<PEM_write_bio_CMS>() "
+"gérant les flux."
 
 #. type: textblock
 #: C/crypto/PEM_write_bio_CMS_stream.pod:27
@@ -971,7 +861,8 @@
 #. type: textblock
 #: C/crypto/PEM_write_bio_PKCS7_stream.pod:5
 msgid "PEM_write_bio_PKCS7_stream - output PKCS7 structure in PEM format."
-msgstr "PEM_write_bio_PKCS7_stream - Générer une structure PKCS7 au format PEM"
+msgstr ""
+"PEM_write_bio_PKCS7_stream - Afficher une structure PKCS7 au format PEM"
 
 #. type: verbatim
 #: C/crypto/PEM_write_bio_PKCS7_stream.pod:9
@@ -999,12 +890,12 @@
 #: C/crypto/PEM_write_bio_PKCS7_stream.pod:16
 msgid "PEM_write_bio_PKCS7_stream() outputs a PKCS7 structure in PEM format."
 msgstr ""
-"B<PEM_write_bio_PKCS7_stream>() génère une structure PKCS7 au format PEM."
+"B<PEM_write_bio_PKCS7_stream>() affiche une structure PKCS7 au format PEM."
 
 #. type: textblock
 #: C/crypto/PEM_write_bio_PKCS7_stream.pod:18
 msgid "It is otherwise identical to the function SMIME_write_PKCS7()."
-msgstr "Sinon, elle est identique à la fonction B<SMIME_write_PKCS7>()."
+msgstr "Elle est autrement identique à la fonction B<SMIME_write_PKCS7>()."
 
 #. type: textblock
 #: C/crypto/PEM_write_bio_PKCS7_stream.pod:22
@@ -1047,9 +938,6 @@
 "BF_cbc_encrypt, BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options - Blowfish "
 "encryption"
 msgstr ""
-"blowfish, BF_set_key, BF_encrypt, BF_decrypt, BF_ecb_encrypt, "
-"BF_cbc_encrypt, BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options - Chiffrement "
-"avec Blowfish."
 
 #. type: verbatim
 #: C/crypto/blowfish.pod:10
@@ -1058,8 +946,6 @@
 " #include <openssl/blowfish.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/blowfish.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/blowfish.pod:12
@@ -1068,8 +954,6 @@
 " void BF_set_key(BF_KEY *key, int len, const unsigned char *data);\n"
 "\n"
 msgstr ""
-" void BF_set_key(BF_KEY *key, int len, const unsigned char *data);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/blowfish.pod:14
@@ -1087,17 +971,6 @@
 " const char *BF_options(void);\n"
 "\n"
 msgstr ""
-" void BF_ecb_encrypt(const unsigned char *in, unsigned char *out,\n"
-"         BF_KEY *key, int enc);\n"
-" void BF_cbc_encrypt(const unsigned char *in, unsigned char *out,\n"
-" \t long length, BF_KEY *schedule, unsigned char *ivec, int enc);\n"
-" void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n"
-" \t long length, BF_KEY *schedule, unsigned char *ivec, int *num,\n"
-"         int enc);\n"
-" void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n"
-" \t long length, BF_KEY *schedule, unsigned char *ivec, int *num);\n"
-" const char *BF_options(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/blowfish.pod:25
@@ -1107,9 +980,6 @@
 " void BF_decrypt(BF_LONG *data,const BF_KEY *key);\n"
 "\n"
 msgstr ""
-" void BF_encrypt(BF_LONG *data,const BF_KEY *key);\n"
-" void BF_decrypt(BF_LONG *data,const BF_KEY *key);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/blowfish.pod:30
@@ -1117,9 +987,6 @@
 "This library implements the Blowfish cipher, which was invented and "
 "described by Counterpane (see http://www.counterpane.com/blowfish.html )."
 msgstr ""
-"Cette bibliothèque implémente l'algorithme de chiffrement Blowfish, qui a été "
-"créé et décrit par Counterpane (voir http://www.counterpane.com/blowfish.html)"
-"."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:33
@@ -1131,15 +998,6 @@
 "of the faster block ciphers.  It is quite a bit faster than DES, and much "
 "faster than IDEA or RC2."
 msgstr ""
-"Blowfish est un algorithme de chiffrement par blocs qui opère sur des blocs "
-"de "
-"données de 64 bits (8 octets). Blowfish utilise une clé de taille variable, "
-"mais en général, les clés de longueur 128 bits (16 octets) sont considérées "
-"comme bonnes pour un chiffrement puissant. Blowfish peut être utilisé de la "
-"même façon que l'algorithme DES (voir L<des_modes(7)|des_modes(7)>). Blowfish "
-"est actuellement un des algorithmes de chiffrement par blocs les plus "
-"rapides. "
-"Il est un peu plus rapide que DES, et bien plus rapide que IDEA ou RC2."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:40
@@ -1147,8 +1005,6 @@
 "Blowfish consists of a key setup phase and the actual encryption or "
 "decryption phase."
 msgstr ""
-"Blowfish consiste en une phase de mise en place de clés, puis une phase de"
-"réel chiffrement ou déchiffrement."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:43
@@ -1156,8 +1012,6 @@
 "BF_set_key() sets up the B<BF_KEY> B<key> using the B<len> bytes long key at "
 "B<data>."
 msgstr ""
-"BF_set_key() mets en place B<BF_KEY> B<key> en utilisant la clé de B<len> "
-"octets dans B<data>."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:46
@@ -1169,13 +1023,6 @@
 "B<in> and B<out> must be 64 bits in length, no less.  If they are larger, "
 "everything after the first 64 bits is ignored."
 msgstr ""
-"BF_ecb_encrypt() est la fonction de chiffrement et de déchiffrement de base "
-"de Blowfish. Celle-ci chiffre et déchiffre les premiers 64 bits de B<in> en "
-"utilisant la clé B<key>, et met le résultat dans B<out>. B<enc> décide si "
-"un chiffrement (B<BF_ENCRYPT>) ou un déchiffrement (B<BF_DECRYPT>) doit être "
-"appliqué. Le vecteur pointé par B<in> et B<out> doit avoir une longueur de "
-"64 bits, pas moins. S'ils sont plus grands, tout ce qu'il y a après le "
-"64ème bit est ignoré."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:53
@@ -1195,22 +1042,6 @@
 "in B<ivec> is stored between calls.  This integer must be initialized to "
 "zero when B<ivec> is initialized."
 msgstr ""
-"Les fonctions de mode BF_cbc_encrypt(), BF_cfb64_encrypt() et "
-"BF_ofb64_encrypt() opèrent toutes sur des données de tailles variables. Elles "
-"prennent toutes un vecteur d'initialisation B<ivec> qui nécessite d'être "
-"passé au prochain appel de la même fonction pour le même message. B<ivec> "
-"peut être initialisé avec n'importe quoi mais le destinataire a besoin de "
-"savoir avec quoi il a été initialisé, ou il ne pourra pas déchiffrer. "
-"Certains programmes et protocoles simplifient cela, comme SSH, où B<ivec> est "
-"simplement initialisé à 0. BF_cbc_encrypt() opère sur des données qui sont "
-"des "
-"multiples de 8 octets en longueur, alors que BF_cfb64_encrypt() et "
-"BF_ofb64_encrypt() sont utilisées pour chiffrer un nombre d'octets variable "
-"(le montant peut ne pas être un multiple de 8). Le but des deux dernières "
-"fonctions est de pouvoir simuler des chiffrements de flux, et de ce fait, "
-"elles ont besoin d'un paramètre B<num>, qui est un pointeur vers un entier "
-"dans lequel est stocké la position courante de lecture B<ivec> entre chaque "
-"appel. Cet entier doit être initialisé à 0 quand B<ivec> est initialisé."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:68
@@ -1221,11 +1052,6 @@
 "decryption (BF_DECRYPT) shall be performed.  B<ivec> must point at an 8 byte "
 "long initialization vector."
 msgstr ""
-"BF_cbc_encrypt() est la fonction d'enchaînement pour le chiffrement par blocs "
-"de Blowfish. Elle chiffre et déchiffre les morceaux de 64 bits de B<in> en "
-"utilisant la clé B<schedule>, puis met le résultat dans B<out>. B<enc> décide "
-"si un chiffrement (BF_ENCRYPT) ou un déchiffrement (BF_DECRYPT) doit être "
-"exécuté. B<ivec> doit pointer vers un vecteur d'initialisation de 8 octets."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:74
@@ -1237,12 +1063,6 @@
 "byte long initialization vector. B<num> must point at an integer which must "
 "be initially zero."
 msgstr ""
-"BF_cfb64_encrypt() est le mode CFB de Blowfish avec un retour de 64 bits. "
-"Elle chiffre et déchiffre les octets de B<in> en utilisant la clé B<schedule>"
-", et met le résultat dans B<out>. B<enc> décide si un chiffrement (B<"
-"BF_ENCRYPT>) ou un déchiffrement (B<BF_DECRYPT>) doit être exécuté. B<ivec> "
-"doit pointer vers un vecteur d'initialisation de 8 octets. B<num> doit "
-"pointer vers un entier qui doit être initialisé à 0."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:81
@@ -1251,9 +1071,6 @@
 "uses the same parameters as BF_cfb64_encrypt(), which must be initialized "
 "the same way."
 msgstr ""
-"BF_ofb64_encrypt() est le mode OFB de Blowfish avec un retour de 64 bits. "
-"Elle utilise les mêmes paramètres que BF_cfb64_encrypt(), et ceux-ci doivent "
-"être initialisés de la même façon."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:85
@@ -1266,20 +1083,11 @@
 "take each 32-bit chunk in host-byte order, which is little-endian on little-"
 "endian platforms and big-endian on big-endian ones."
 msgstr ""
-"BF_encrypt() et BF_decrypt() sont les fonctions de bas niveau du chiffrement "
-"Blowfish. Elles chiffrent ou déchiffrent les premiers 64 bits du vecteur "
-"pointé par "
-"B<data>, en utilisant la clé B<key>. Ces fonctions ne doivent pas être "
-"utilisées sauf si vous implémentez « modes » pour Blowfish. L'alternative "
-"est d'utiliser BF_ecb_encrypt(). Si vous voulez utiliser ces fonctions, "
-"sachez qu'elles prennent des blocs de 32 bits dans l'ordre de l'hôte, c'est à "
-"dire petit-boutiste pour les plateformes petit-boutiste et gros-boutiste "
-"pour celles gros-boutiste."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:95
 msgid "None of the functions presented here return any value."
-msgstr "Aucune des fonctions présentées ici n'a de valeur de retour."
+msgstr ""
 
 #. type: =head1
 #: C/crypto/blowfish.pod:97 C/crypto/lhash.pod:194 C/crypto/md5.pod:70
@@ -1293,9 +1101,6 @@
 "Applications should use the higher level functions L<EVP_EncryptInit(3)|"
 "EVP_EncryptInit(3)> etc. instead of calling the blowfish functions directly."
 msgstr ""
-"Les applications devraient utiliser les fonctions de haut niveau telles L<"
-"EVP_EncryptInit(3)|EVP_EncryptInit(3)>, etc, au lieu d'appeler les fonctions "
-"de Blowfish directement."
 
 #. type: textblock
 #: C/crypto/blowfish.pod:105
@@ -1316,8 +1121,6 @@
 "BUF_MEM_new, BUF_MEM_free, BUF_MEM_grow, BUF_strdup - simple character "
 "arrays structure"
 msgstr ""
-"BUF_MEM_new, BUF_MEM_free, BUF_MEM_grow, BUF_strdup - Structure de tableaux "
-"de caractères simples"
 
 #. type: verbatim
 #: C/crypto/buffer.pod:10
@@ -1326,8 +1129,6 @@
 " #include <openssl/buffer.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/buffer.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/buffer.pod:12
@@ -1336,8 +1137,6 @@
 " BUF_MEM *BUF_MEM_new(void);\n"
 "\n"
 msgstr ""
-" BUF_MEM *BUF_MEM_new(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/buffer.pod:14
@@ -1346,8 +1145,6 @@
 " void\tBUF_MEM_free(BUF_MEM *a);\n"
 "\n"
 msgstr ""
-" void\tBUF_MEM_free(BUF_MEM *a);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/buffer.pod:16
@@ -1356,8 +1153,6 @@
 " int\tBUF_MEM_grow(BUF_MEM *str, int len);\n"
 "\n"
 msgstr ""
-" int\tBUF_MEM_grow(BUF_MEM *str, int len);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/buffer.pod:18
@@ -1366,8 +1161,6 @@
 " char *\tBUF_strdup(const char *str);\n"
 "\n"
 msgstr ""
-" char *\tBUF_strdup(const char *str);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/buffer.pod:22
@@ -1375,14 +1168,11 @@
 "The buffer library handles simple character arrays. Buffers are used for "
 "various purposes in the library, most notably memory BIOs."
 msgstr ""
-"La bibliothèque de tampon utilise des tableaux de caractères simples. Les "
-"tampons sont utilisés à des fins diverses dans la bibliothèque, notamment "
-"pour les BIO mémoires."
 
 #. type: textblock
 #: C/crypto/buffer.pod:25
 msgid "The library uses the BUF_MEM structure defined in buffer.h:"
-msgstr "La bibliothèque utilise la structure BUF_MEM définie dans buffer.h"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/buffer.pod:27
@@ -1396,13 +1186,6 @@
 " } BUF_MEM;\n"
 "\n"
 msgstr ""
-" typedef struct buf_mem_st\n"
-" {\n"
-"        int length;     /* nombre actuel d'octets */\n"
-"        char *data;\n"
-"        int max;        /* taille du tampon */\n"
-" } BUF_MEM;\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/buffer.pod:34
@@ -1411,14 +1194,11 @@
 "of memory allocated to the buffer. There are three functions which handle "
 "these and one \"miscellaneous\" function."
 msgstr ""
-"B<length> est la taille actuelle du tampon en octets, B<max> est la quantité "
-"de mémoire allouée au tampon. Il y a trois fonctions qui gèrent celles-ci, "
-"ainsi qu'une fonction « divers »."
 
 #. type: textblock
 #: C/crypto/buffer.pod:38
 msgid "BUF_MEM_new() allocates a new buffer of zero size."
-msgstr "BUF_MEM_new() alloue un nouveau tampon de taille 0."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/buffer.pod:40
@@ -1426,8 +1206,6 @@
 "BUF_MEM_free() frees up an already existing buffer. The data is zeroed "
 "before freeing up in case the buffer contains sensitive data."
 msgstr ""
-"BUF_MEM_free() libère un tampon préexistant. Les données sont mises à 0 avant "
-"d'être libérées au cas où le tampon contienne des données sensibles."
 
 #. type: textblock
 #: C/crypto/buffer.pod:43
@@ -1435,9 +1213,6 @@
 "BUF_MEM_grow() changes the size of an already existing buffer to B<len>. Any "
 "data already in the buffer is preserved if it increases in size."
 msgstr ""
-"BUF_MEM_grow() change la taille d'un tampon déjà existant à la taille B<len>. "
-"Les données présentes dans le tampon sont préservées si celui-ci est "
-"agrandit."
 
 #. type: textblock
 #: C/crypto/buffer.pod:47
@@ -1448,13 +1223,6 @@
 "in preference to the standard library strdup() because it can be used for "
 "memory leak checking or replacing the malloc() function."
 msgstr ""
-"BUF_strdup() copie une chaîne terminée par null dans un bloc de mémoire "
-"alloué et renvoie un pointeur vers ce bloc. À la différence de la "
-"fonction strdup() de la bibliothèque standard de C, cette fonction utilise "
-"OPENSSL_malloc() et donc devrait être préférée à strdup() car "
-"elle peut être utilisée pour détecter des fuites de mémoire ou pour remplacer "
-"la "
-"fonction malloc()."
 
 #. type: textblock
 #: C/crypto/buffer.pod:53
@@ -1462,25 +1230,21 @@
 "The memory allocated from BUF_strdup() should be freed up using the "
 "OPENSSL_free()  function."
 msgstr ""
-"La mémoire allouée par BUF_strdup() doit être libérée en utilisant la "
-"fonction OPENSSL_free()."
 
 #. type: textblock
 #: C/crypto/buffer.pod:58
 msgid "BUF_MEM_new() returns the buffer or NULL on error."
-msgstr "BUF_MEM_new() renvoie le tampon ou NULL en cas d'erreur."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/buffer.pod:60
 msgid "BUF_MEM_free() has no return value."
-msgstr "BUF_MEM_free() n'a pas de valeur de retour."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/buffer.pod:62
 msgid "BUF_MEM_grow() returns zero on error or the new size (i.e. B<len>)."
 msgstr ""
-"BUF_MEM_grow() renvoie la nouvelle taille (c-à-d. B<len>), ou 0 en cas "
-"d'erreur."
 
 #. type: textblock
 #: C/crypto/buffer.pod:66
@@ -1493,13 +1257,11 @@
 "BUF_MEM_new(), BUF_MEM_free() and BUF_MEM_grow() are available in all "
 "versions of SSLeay and OpenSSL. BUF_strdup() was added in SSLeay 0.8."
 msgstr ""
-"BUF_MEM_new(), BUF_MEM_free() et BUF_MEM_grow() sont disponibles dans toutes "
-"les versions de SSLeay et OpenSSL. BUF_strdup() a été ajouté dans SSLeay 0.8."
 
 #. type: textblock
 #: C/crypto/crypto.pod:5
 msgid "crypto - OpenSSL cryptographic library"
-msgstr "crypto - Bibliothèque cryptographique d'OpenSSL"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:11
@@ -1510,11 +1272,6 @@
 "they have also been used to implement SSH, OpenPGP, and other cryptographic "
 "standards."
 msgstr ""
-"La bibliothèque B<crypto> d'OpenSSL implémente une large gamme d'algorithmes "
-"cryptographiques utilisés dans divers standards Internet. Les services "
-"offerts par cette bibliothèque sont utilisés par OpenSSL dans "
-"l'implémentation de SSL, TLS et S/MIME, et ils ont aussi été utilisés pour "
-"implémenter SSH, OpenPGP et d'autres standards cryptographiques."
 
 #. type: =head1
 #: C/crypto/crypto.pod:17 C/crypto/des_modes.pod:15
@@ -1527,8 +1284,6 @@
 "B<libcrypto> consists of a number of sub-libraries that implement the "
 "individual algorithms."
 msgstr ""
-"B<libcrypto> est composée de sous-bibliothèques qui implémentent les "
-"différents algorithmes."
 
 #. type: textblock
 #: C/crypto/crypto.pod:22
@@ -1537,14 +1292,11 @@
 "key agreement, certificate handling, cryptographic hash functions and a "
 "cryptographic pseudo-random number generator."
 msgstr ""
-"La fonctionnalité inclut le chiffrement symétrique, la cryptographie à clé "
-"publique et l'accord de clé, le traitement de certificat, les fonctions de "
-"hachage cryptographique et un générateur de nombres pseudo-aléatoires."
 
 #. type: =item
 #: C/crypto/crypto.pod:28
 msgid "SYMMETRIC CIPHERS"
-msgstr "CHIFFREMENT SYMÉTRIQUE"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:30
@@ -1558,7 +1310,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:33
 msgid "PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT"
-msgstr "CLÉ PUBLIQUE ET ACCORD DE CLÉ"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:35
@@ -1568,7 +1320,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:37
 msgid "CERTIFICATES"
-msgstr "CERTIFICATS"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:39
@@ -1578,7 +1330,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:41
 msgid "AUTHENTICATION CODES, HASH FUNCTIONS"
-msgstr "CODES D'AUTHENTIFICATION, FONCTIONS DE HACHAGE"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:43
@@ -1592,7 +1344,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:47
 msgid "AUXILIARY FUNCTIONS"
-msgstr "FONCTIONS ANNEXES"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:49
@@ -1606,7 +1358,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:52
 msgid "INPUT/OUTPUT, DATA ENCODING"
-msgstr "ENTRÉE/SORTIE, CHIFFREMENT DE DONNÉE"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:54
@@ -1620,7 +1372,7 @@
 #. type: =item
 #: C/crypto/crypto.pod:57
 msgid "INTERNAL FUNCTIONS"
-msgstr "FONCTIONS INTERNES"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/crypto.pod:59
@@ -1637,8 +1389,6 @@
 "Some of the newer functions follow a naming convention using the numbers "
 "B<0> and B<1>. For example the functions:"
 msgstr ""
-"Certaines nouvelles fonctions suivent une convention de nom qui utilise les "
-"nombres B<0> et B<1>, par exemple les fonctions :"
 
 #. type: verbatim
 #: C/crypto/crypto.pod:70
@@ -1659,10 +1409,6 @@
 "and it will be freed up when the parent is freed.  In the above example "
 "B<crl> would be freed but B<rev> would not."
 msgstr ""
-"La version B<0> utilise le pointeur de structure fourni, directement dans le "
-"parent, et il sera libéré quand le parent sera libéré. Dans l'exemple "
-"ci-dessus "
-"B<ctrl> serait libéré, mais B<rev> ne le serait pas."
 
 #. type: textblock
 #: C/crypto/crypto.pod:77
@@ -1671,10 +1417,6 @@
 "cases increases its link count) in the parent and so both (B<x> and B<obj> "
 "above) should be freed up."
 msgstr ""
-"La fonction B<1> utilise une copie du pointeur de structure fourni (ou dans "
-"certains cas augmente son compteur de liens), dans le parent, et donc ils (B<"
-"x> "
-"et B<obj> ci-dessus) doivent être libérés."
 
 #. type: textblock
 #: C/crypto/crypto.pod:83
@@ -1694,15 +1436,6 @@
 "DES_quad_cksum, DES_string_to_key, DES_string_to_2keys, DES_fcrypt, "
 "DES_crypt, DES_enc_read, DES_enc_write - DES encryption"
 msgstr ""
-"DES_random_key, DES_set_key, DES_key_sched, DES_set_key_checked, "
-"DES_set_key_unchecked, DES_set_odd_parity, DES_is_weak_key, DES_ecb_encrypt, "
-"DES_ecb2_encrypt, DES_ecb3_encrypt, DES_ncbc_encrypt, DES_cfb_encrypt, "
-"DES_ofb_encrypt, DES_pcbc_encrypt, DES_cfb64_encrypt, DES_ofb64_encrypt, "
-"DES_xcbc_encrypt, DES_ede2_cbc_encrypt, DES_ede2_cfb64_encrypt, "
-"DES_ede2_ofb64_encrypt, DES_ede3_cbc_encrypt, DES_ede3_cbcm_encrypt, "
-"DES_ede3_cfb64_encrypt, DES_ede3_ofb64_encrypt, DES_cbc_cksum, "
-"DES_quad_cksum, DES_string_to_key, DES_string_to_2keys, DES_fcrypt, "
-"DES_crypt, DES_enc_read, DES_enc_write - Chiffrement DES"
 
 #. type: verbatim
 #: C/crypto/des.pod:17
@@ -1711,8 +1444,6 @@
 " #include <openssl/des.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/des.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:19
@@ -1721,8 +1452,6 @@
 " void DES_random_key(DES_cblock *ret);\n"
 "\n"
 msgstr ""
-" void DES_random_key(DES_cblock *ret);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:21
@@ -1736,13 +1465,6 @@
 "        DES_key_schedule *schedule);\n"
 "\n"
 msgstr ""
-" int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule);\n"
-" int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule);\n"
-" int DES_set_key_checked(const_DES_cblock *key,\n"
-"        DES_key_schedule *schedule);\n"
-" void DES_set_key_unchecked(const_DES_cblock *key,\n"
-"        DES_key_schedule *schedule);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:28
@@ -1752,9 +1474,6 @@
 " int DES_is_weak_key(const_DES_cblock *key);\n"
 "\n"
 msgstr ""
-" void DES_set_odd_parity(DES_cblock *key);\n"
-" int DES_is_weak_key(const_DES_cblock *key);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:31
@@ -1769,14 +1488,6 @@
 "        DES_key_schedule *ks3, int enc);\n"
 "\n"
 msgstr ""
-" void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, \n"
-"        DES_key_schedule *ks, int enc);\n"
-" void DES_ecb2_encrypt(const_DES_cblock *input, DES_cblock *output, \n"
-"        DES_key_schedule *ks1, DES_key_schedule *ks2, int enc);\n"
-" void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, \n"
-"        DES_key_schedule *ks1, DES_key_schedule *ks2, \n"
-"        DES_key_schedule *ks3, int enc);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:39
@@ -1802,25 +1513,6 @@
 "        int *num);\n"
 "\n"
 msgstr ""
-" void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, \n"
-"        long length, DES_key_schedule *schedule, DES_cblock *ivec, \n"
-"        int enc);\n"
-" void DES_cfb_encrypt(const unsigned char *in, unsigned char *out,\n"
-"        int numbits, long length, DES_key_schedule *schedule,\n"
-"        DES_cblock *ivec, int enc);\n"
-" void DES_ofb_encrypt(const unsigned char *in, unsigned char *out,\n"
-"        int numbits, long length, DES_key_schedule *schedule,\n"
-"        DES_cblock *ivec);\n"
-" void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, \n"
-"        long length, DES_key_schedule *schedule, DES_cblock *ivec, \n"
-"        int enc);\n"
-" void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n"
-"        long length, DES_key_schedule *schedule, DES_cblock *ivec,\n"
-"        int *num, int enc);\n"
-" void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n"
-"        long length, DES_key_schedule *schedule, DES_cblock *ivec,\n"
-"        int *num);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:58
@@ -1831,10 +1523,6 @@
 "        const_DES_cblock *inw, const_DES_cblock *outw, int enc);\n"
 "\n"
 msgstr ""
-" void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, \n"
-"        long length, DES_key_schedule *schedule, DES_cblock *ivec, \n"
-"        const_DES_cblock *inw, const_DES_cblock *outw, int enc);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:62
@@ -1851,16 +1539,6 @@
 "        DES_key_schedule *ks2, DES_cblock *ivec, int *num);\n"
 "\n"
 msgstr ""
-" void DES_ede2_cbc_encrypt(const unsigned char *input,\n"
-"        unsigned char *output, long length, DES_key_schedule *ks1,\n"
-"        DES_key_schedule *ks2, DES_cblock *ivec, int enc);\n"
-" void DES_ede2_cfb64_encrypt(const unsigned char *in,\n"
-"        unsigned char *out, long length, DES_key_schedule *ks1,\n"
-"        DES_key_schedule *ks2, DES_cblock *ivec, int *num, int enc);\n"
-" void DES_ede2_ofb64_encrypt(const unsigned char *in,\n"
-"        unsigned char *out, long length, DES_key_schedule *ks1,\n"
-"        DES_key_schedule *ks2, DES_cblock *ivec, int *num);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:72
@@ -1883,22 +1561,6 @@
 "        DES_cblock *ivec, int *num);\n"
 "\n"
 msgstr ""
-" void DES_ede3_cbc_encrypt(const unsigned char *input,\n"
-"        unsigned char *output, long length, DES_key_schedule *ks1,\n"
-"        DES_key_schedule *ks2, DES_key_schedule *ks3, DES_cblock *ivec,\n"
-"        int enc);\n"
-" void DES_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out, \n"
-"        long length, DES_key_schedule *ks1, DES_key_schedule *ks2, \n"
-"        DES_key_schedule *ks3, DES_cblock *ivec1, DES_cblock *ivec2, \n"
-"        int enc);\n"
-" void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, \n"
-"        long length, DES_key_schedule *ks1, DES_key_schedule *ks2,\n"
-"        DES_key_schedule *ks3, DES_cblock *ivec, int *num, int enc);\n"
-" void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, \n"
-"        long length, DES_key_schedule *ks1, \n"
-"        DES_key_schedule *ks2, DES_key_schedule *ks3, \n"
-"        DES_cblock *ivec, int *num);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:88
@@ -1914,15 +1576,6 @@
 "        DES_cblock *key2);\n"
 "\n"
 msgstr ""
-" DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, \n"
-"        long length, DES_key_schedule *schedule, \n"
-"        const_DES_cblock *ivec);\n"
-" DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], \n"
-"        long length, int out_count, DES_cblock *seed);\n"
-" void DES_string_to_key(const char *str, DES_cblock *key);\n"
-" void DES_string_to_2keys(const char *str, DES_cblock *key1,\n"
-"        DES_cblock *key2);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:97
@@ -1932,9 +1585,6 @@
 " char *DES_crypt(const char *buf, const char *salt);\n"
 "\n"
 msgstr ""
-" char *DES_fcrypt(const char *buf, const char *salt, char *ret);\n"
-" char *DES_crypt(const char *buf, const char *salt);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/des.pod:100
@@ -1946,19 +1596,12 @@
 "        DES_key_schedule *sched, DES_cblock *iv);\n"
 "\n"
 msgstr ""
-" int DES_enc_read(int fd, void *buf, int len, DES_key_schedule *sched,\n"
-"        DES_cblock *iv);\n"
-" int DES_enc_write(int fd, const void *buf, int len,\n"
-"        DES_key_schedule *sched, DES_cblock *iv);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/des.pod:107
 msgid ""
 "This library contains a fast implementation of the DES encryption algorithm."
 msgstr ""
-"Cette bibliothèque contient une implémentation rapide de l'algorithme de "
-"chiffrement DES."
 
 #. type: textblock
 #: C/crypto/des.pod:110
@@ -1970,14 +1613,6 @@
 "bit.  The key schedule is an expanded form of the key; it is used to speed "
 "the encryption process."
 msgstr ""
-"Il y a deux phases dans l'utilisation du chiffrement DES. La première "
-"consiste "
-"à générer un I<DES_key_schedule> à partir d'une clé, la seconde est le "
-"chiffrement réel. Une clé DES est du type I<DES_cblock>. Ce type consiste en "
-"8 "
-"octets de parité impaire. Le bit de poids le plus faible dans chaque octet "
-"est le bit de parité. La préparation de clés « key schedule » est une forme "
-"étendue de la clé ; elle est utilisée pour accélérer le processus."
 
 #. type: textblock
 #: C/crypto/des.pod:117
@@ -1986,9 +1621,6 @@
 "using this function (see L<rand(3)|rand(3)>).  If the PRNG could not "
 "generate a secure key, 0 is returned."
 msgstr ""
-"DES_random_key() génère une clé aléatoire. Le PRNG doit être initialisé avant "
-"d'utiliser cette fonction (voir L<rand(3)|rand(3)>). Si le PRNG n'a pu "
-"générer une clé sécurisée, le code de retour est 0."
 
 #. type: textblock
 #: C/crypto/des.pod:121
@@ -1997,9 +1629,6 @@
 "dependent I<DES_key_schedule> via the DES_set_key_checked() or "
 "DES_set_key_unchecked() function."
 msgstr ""
-"Avant qu'une clé DES puisse être utilisée, elle doit être convertie vers une "
-"I<DES_key_schedule> dépendant de l’architecture à l’aide de la fonction "
-"DES_set_key_checked() ou DES_set_key_unchecked()."
 
 #. type: textblock
 #: C/crypto/des.pod:125
@@ -2009,11 +1638,6 @@
 "If the key is a weak key, then -2 is returned.  If an error is returned, the "
 "key schedule is not generated."
 msgstr ""
-"DES_set_key_checked() vérifiera que la clé est de parité impaire et n'est pas "
-"une clé "
-"faible ou partiellement faible. Si la parité est mauvaise, alors -1 sera "
-"renvoyé. Si la clé est faible, alors -2 sera renvoyé. Si une erreur est "
-"renvoyée alors la préparation de clés ne sera pas faite."
 
 #. type: textblock
 #: C/crypto/des.pod:130
@@ -2023,16 +1647,11 @@
 "available for compatibility; it is recommended to use a function that does "
 "not depend on a global variable."
 msgstr ""
-"DES_set_key() fonctionne comme DES_set_key_checked() si le drapeau I<"
-"DES_check_key> n'est pas 0, sinon elle fonctionne comme "
-"DES_set_key_unchecked(). Ces fonctions sont disponibles pour la "
-"compatibilité ; il est recommandé "
-"d'utiliser une fonction qui ne dépend pas d'une variable globale."
 
 #. type: textblock
 #: C/crypto/des.pod:136
 msgid "DES_set_odd_parity() sets the parity of the passed I<key> to odd."
-msgstr "DES_set_odd_parity() change la parité de I<key> à impaire."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/des.pod:138
@@ -2041,10 +1660,6 @@
 "The probability that a randomly generated key is weak is 1/2^52, so it is "
 "not really worth checking for them."
 msgstr ""
-"DES_is_weak_key() renvoie 1 si la clé passée est faible, 0 si elle est "
-"forte. La probabilité qu'une clé générée aléatoirement soit faible est "
-"1/2^52, ce n'est "
-"donc pas vraiment utile de vérifier."
 
 #. type: textblock
 #: C/crypto/des.pod:142
@@ -2052,8 +1667,6 @@
 "The following routines mostly operate on an input and output stream of "
 "I<DES_cblock>s."
 msgstr ""
-"Les routines suivantes opèrent sur une entrée et une sortie de flux de I<"
-"DES_cblock>."
 
 #. type: textblock
 #: C/crypto/des.pod:145
@@ -2069,16 +1682,6 @@
 "I<output> (now cleartext).  Input and output may overlap.  DES_ecb_encrypt() "
 "does not return a value."
 msgstr ""
-"DES_ecb_encrypt() est la routine DES de base qui chiffre ou déchiffre "
-"séparément des I<DES_cblock> de 8 octets dans le mode I<electronic code book> "
-"(ECB). Elle transforme toujours les données d’entrée, pointées par I<input>, "
-"dans les données de sortie, pointées par l'argument I<output>. Si l'argument "
-"I<encrypt> est différent de 0 (DES_ENCRYPT), I<input> (texte clair) est "
-"chiffré dans I<output> (texte chiffré) en utilisant le key_schedule spécifié "
-"par l'argument I<schedule>, préalablement initialisé par I<DES_set_key>. Si "
-"I<encrypt> est 0 (DES_DECRYPT), I<input> (maintenant texte chiffré) est "
-"déchiffré dans I<output> (maintenant texte clair). L'entrée et la sortie "
-"peuvent se recouvrir. DES_ecb_encrypt() ne renvoie pas de valeur."
 
 #. type: textblock
 #: C/crypto/des.pod:156
@@ -2090,13 +1693,6 @@
 "DES and has the advantage of if I<ks1>, I<ks2> and I<ks3> are the same, it "
 "is equivalent to just encryption using ECB mode and I<ks1> as the key."
 msgstr ""
-"DES_ecb3_encrypt() chiffre ou déchiffre le bloc I<input> en utilisant un "
-"chiffrement Triple-DES à trois clés dans le mode ECB. Cela implique de "
-"chiffrer l'entrée avec I<ks1>, de déchiffrer avec I<ks2> et ensuite de "
-"chiffrer "
-"avec I<ks3>. Cette routine réduit grandement les chances de casser le DES par "
-"force brute et elle a l’avantage que si I<ks1>, I<ks2> et I<ks3> sont les "
-"mêmes, c'est équivalent au mode de chiffrement ECB avec I<ks1> comme clé."
 
 #. type: textblock
 #: C/crypto/des.pod:164
@@ -2104,8 +1700,6 @@
 "The macro DES_ecb2_encrypt() is provided to perform two-key Triple-DES "
 "encryption by using I<ks1> for the final encryption."
 msgstr ""
-"La macro DES_ecb2_encrypt() permet d'exécuter un chiffrement Triple-DES à "
-"deux clés à l'aide de I<ks1> pour le chiffrement final."
 
 #. type: textblock
 #: C/crypto/des.pod:167
@@ -2120,16 +1714,6 @@
 "area and zero filled.  The output is always an integral multiple of eight "
 "bytes."
 msgstr ""
-"DES_ncbc_encrypt() chiffre ou déchiffre en utilisant le mode I<"
-"cipher-block-chaining> (CBC) de DES. Si l'argument I<encrypt> est différent "
-"de 0, la routine CBC chiffre les données pointées par l'argument I<input> "
-"dans le texte chiffré pointé par l'argument I<output>, en utilisant la "
-"préparation "
-"des clés fournie par l'argument I<schedule> et le vecteur d'initialisation "
-"fourni par l'argument I<ivec>. Si la longueur I<length> de l'argument n'est "
-"pas un entier multiple de 8 octets, le dernier bloc est copié dans une zone "
-"temporaire et rempli de 0. La sortie est toujours un entier multiple de "
-"8 octets."
 
 #. type: textblock
 #: C/crypto/des.pod:177
@@ -2139,10 +1723,6 @@
 "are as such, part of the key.  So the key is sort of 24 bytes.  This is much "
 "better than CBC DES."
 msgstr ""
-"DES_xcbc_encrypt() est le mode DESX de RSA de DES. Elle utilise I<inw> et I<"
-"outw> pour durcir le chiffrement. I<inw> et I<outw> sont secrets (à "
-"l'opposé de iv) et font de ce fait partie de la clé. Donc la clé fait en "
-"quelque sorte de 24 octets. Cela est bien mieux que CBC DES."
 
 #. type: textblock
 #: C/crypto/des.pod:182
@@ -2151,9 +1731,6 @@
 "keys. This means that each DES operation inside the CBC mode is really an "
 "C<C=E(ks3,D(ks2,E(ks1,M)))>.  This mode is used by SSL."
 msgstr ""
-"DES_ede3_cbc_encrypt() implémente le chiffrement CBC DES triple externe avec "
-"trois clés. Cela veut dire que chaque opération DES à l'intérieur du mode CBC "
-"est en fait un C<C=E(ks3,D(ks2,E(ks1,M)))>. Ce mode est utilisé par SSL."
 
 #. type: textblock
 #: C/crypto/des.pod:186
@@ -2162,9 +1739,6 @@
 "I<ks1> for the final encryption.  C<C=E(ks1,D(ks2,E(ks1,M)))>.  This form of "
 "Triple-DES is used by the RSAREF library."
 msgstr ""
-"La macro DES_ede2_cbc_encrypt() implémente Triple-DES avec deux clés en "
-"réutilisant I<ks1> pour le chiffrement final C<C=E(ks1,D(ks2,E(ks1,M)))> "
-"Cette forme de Triple-DES est utilisée par la bibliothèque RSAREF."
 
 #. type: textblock
 #: C/crypto/des.pod:190
@@ -2173,9 +1747,6 @@
 "chaining mode used by Kerberos v4. Its parameters are the same as "
 "DES_ncbc_encrypt()."
 msgstr ""
-"DES_pcbc_encrypt() chiffre ou déchiffre en utilisant le mode de propagation "
-"CBC "
-"utilisé par Kerberos v4. Ses paramètres sont identiques à DES_ncbc_encrypt()."
 
 #. type: textblock
 #: C/crypto/des.pod:194
@@ -2188,15 +1759,6 @@
 "encryption per I<numbits>, this function is only suggested for use when "
 "sending small numbers of characters."
 msgstr ""
-"DES_cfb_encrypt() chiffre ou déchiffre en utilisant un mode de chiffrement à "
-"rétroaction. Cette méthode prend un tableau de caractères comme entrée et "
-"produit un tableau de caractères. Elle ne nécessite pas de formatage pour les "
-"groupes de 8 caractères. Note : la variable I<ivec> est modifiée et la "
-"nouvelle "
-"valeur à besoin d'être passée au prochain appel de cette fonction. Comme "
-"cette fonction utilise un chiffrement DES ECB complet par I<numbits>, cette "
-"fonction est suggérée uniquement lors de l'envoi de petits nombres de "
-"caractères."
 
 #. type: textblock
 #: C/crypto/des.pod:202
@@ -2208,14 +1770,6 @@
 "contains 'how far' we are though ivec.  If this does not make much sense, "
 "read more about cfb mode of DES :-)."
 msgstr ""
-"DES_cfb64_encrypt() implémente le mode CFB de DES avec une rétroaction de 64 "
-"bits. Pourquoi est-ce que cela est utile dites vous ? Parce que cette routine "
-"autorise à chiffrer un nombre arbitraire d'octets, sans formatage à 8 "
-"octets. Chaque appel à cette routine chiffrera les octets d'entrée vers la "
-"sortie puis mettra à jour ivec et num. num contient « la distance » "
-"par rapport à ivec. Si cela ne n'a aucun sens, referez-vous à la "
-"documentation "
-"du mode CFB de DES :-)."
 
 #. type: textblock
 #: C/crypto/des.pod:210
@@ -2223,8 +1777,6 @@
 "DES_ede3_cfb64_encrypt() and DES_ede2_cfb64_encrypt() is the same as "
 "DES_cfb64_encrypt() except that Triple-DES is used."
 msgstr ""
-"DES_ede3_cfb64_encrypt() et DES_ede2_cfb64_encrypt() sont identiques à "
-"DES_cfb64_encrypt() sauf que Triple-DES est utilisé."
 
 #. type: textblock
 #: C/crypto/des.pod:213
@@ -2237,15 +1789,6 @@
 "numbits, this function is only suggested for use when sending small numbers "
 "of characters."
 msgstr ""
-"DES_ofb_encrypt() chiffre en utilisant le mode de chiffrement à rétroaction. "
-"Cette méthode prend un tableau de caractères comme entrée et produit un "
-"tableau "
-"de caractères. Elle ne nécessite pas de formatage pour les groupes de "
-"8 caractères. Note : la variable I<ivec> est modifiée et la nouvelle valeur à "
-"besoin d'être passée au prochain appel de cette fonction. Comme cette "
-"fonction utilise un chiffrement DES ECB complet par I<numbits>, cette "
-"fonction est suggérée uniquement lors de l'envoi de petits nombres de "
-"caractères."
 
 #. type: textblock
 #: C/crypto/des.pod:221
@@ -2253,8 +1796,6 @@
 "DES_ofb64_encrypt() is the same as DES_cfb64_encrypt() using Output Feed "
 "Back mode."
 msgstr ""
-"DES_ofb64_encrypt() est identique à DES_cfb64_encrypt() en utilisant le mode "
-"de chiffrement à rétroaction de sortie."
 
 #. type: textblock
 #: C/crypto/des.pod:224
@@ -2262,8 +1803,6 @@
 "DES_ede3_ofb64_encrypt() and DES_ede2_ofb64_encrypt() is the same as "
 "DES_ofb64_encrypt(), using Triple-DES."
 msgstr ""
-"DES_ede3_ofb64_encrypt() et DES_ede2_ofb64_encrypt() sont identiques à "
-"DES_ofb64_encrypt(), en utilisant Triple-DES."
 
 #. type: textblock
 #: C/crypto/des.pod:227
@@ -2271,8 +1810,6 @@
 "The following functions are included in the DES library for compatibility "
 "with the MIT Kerberos library."
 msgstr ""
-"Les instructions suivantes sont inclues dans la bibliothèque DES pour "
-"compatibilité avec la bibliothèque Kerberos du MIT."
 
 #. type: textblock
 #: C/crypto/des.pod:230
@@ -2283,11 +1820,6 @@
 "v4.  Other applications should use L<EVP_DigestInit(3)|EVP_DigestInit(3)> "
 "etc. instead."
 msgstr ""
-"DES_cbc_cksum() produit une empreinte de 8 octets en se basant sur le flux "
-"d'entrée (avec un chiffrement CBC). Les 4 derniers octets de l'empreinte sont "
-"renvoyés et les 8 octets totaux sont placés dans I<output>. Cette fonction "
-"est utilisée par Kerberos v4. Les autres applications devraient à la place "
-"utiliser L<EVP_DigestInit(3)|EVP_DigestInit(3)>, etc."
 
 #. type: textblock
 #: C/crypto/des.pod:236
@@ -2297,17 +1829,11 @@
 "depending on I<out_count>, 1, 2, 3 or 4 times.  If I<output> is non-NULL, "
 "the 8 bytes generated by each pass are written into I<output>."
 msgstr ""
-"DES_quad_cksum() est une fonction de Kerberos v4. Elle renvoie une empreinte "
-"de 4 octets à partir des octets d'entrée. Il est possible d'itérer sur "
-"l’entrée, "
-"selon I<out_count>, 1, 2, 3 ou 4 fois. Si I<output> n'est pas NULL les "
-"8 octets "
-"générés par chaque passage sont écrits dans I<output>."
 
 #. type: textblock
 #: C/crypto/des.pod:242
 msgid "The following are DES-based transformations:"
-msgstr "Les transformations suivantes sont basées sur DES :"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/des.pod:244
@@ -2319,13 +1845,6 @@
 "be at least 14 bytes long.  This function is thread safe, unlike the normal "
 "crypt."
 msgstr ""
-"DES_fcrypt() est une version plus rapide de la fonction Unix crypt(3). Cette "
-"version n’utilise qu'une petite quantité d'espace relativement aux "
-"autres implémentations crypt() rapides. Cela est différent du crypt "
-"normal dans le fait que le troisième paramètre est le tampon dans lequel la "
-"valeur de retour est écrite. Elle a besoin d'être d'au moins 14 octets de "
-"long. Cette fonction est à fil sécurisé (« thread-safe ») contrairement à la "
-"fonction crypt normale."
 
 #. type: textblock
 #: C/crypto/des.pod:251
@@ -2334,10 +1853,6 @@
 "function calls DES_fcrypt() with a static array passed as the third "
 "parameter.  This emulates the normal non-thread safe semantics of crypt(3)."
 msgstr ""
-"DES_crypt() est un remplacement plus rapide pour le normal système crypt(). "
-"Cette fonction appelle DES_fcrypt() avec un tableau statique passé comme "
-"troisième paramètre. Cela émule les sémantiques normales, pour les "
-"threads non sécurisés, de crypt(3)."
 
 #. type: textblock
 #: C/crypto/des.pod:256
@@ -2349,13 +1864,6 @@
 "following encrypted data.  The encrypted data then follows, padded with "
 "random data out to a multiple of 8 bytes."
 msgstr ""
-"DES_enc_write() écrit I<len> octets dans un descripteur de fichier I<fd> "
-"provenant du tampon I<buf>. Les données sont chiffrées à l’aide de I<pcbc_encrypt> "
-"(par défaut) utilisant I<sched> comme clé et I<iv> comme vecteur de début. "
-"Les données envoyées à I<fd> consistent en 4 octets (en ordre d'octets du "
-"réseau) contenant la longueur des données chiffrées suivantes. Les données "
-"chiffrées suivent, formatées avec des données aléatoires basées sur un multiple "
-"de 8 octets."
 
 #. type: textblock
 #: C/crypto/des.pod:264
@@ -2365,10 +1873,6 @@
 "DES_enc_write() and is decrypted using I<sched> for the key schedule and "
 "I<iv> for the initial vector."
 msgstr ""
-"DES_enc_read() est utilisé pour lire I<len> octets d'un descripteur de "
-"fichier I<fd> dans un tampon I<buf>. On suppose que les données lues dans I<"
-"fd> proviennent de DES_enc_write() et sont déchiffrées en utilisant I<sched> "
-"comme préparation de clés et I<iv> comme vecteur initial."
 
 #. type: textblock
 #: C/crypto/des.pod:269
@@ -2381,14 +1885,6 @@
 "anyway).  They cannot handle non-blocking sockets.  DES_enc_read() uses an "
 "internal state and thus cannot be used on multiple files."
 msgstr ""
-"B<Attention :> Le format des données utilisées par DES_enc_write() et "
-"DES_enc_read() a une faiblesse cryptographique : lorsqu'il y a une demande "
-"d'écrire plus de MAXWRITE octets, DES_enc_write() découpera les données en "
-"plusieurs morceaux qui utilisent tous le même IV (vecteur d’initialisation). N'utilisez donc pas ces "
-"fonctions sauf si vous êtes sûr de savoir ce que vous faites (et même dans ce cas il "
-"n'est pas recommandé de s'en servir). Elles ne peuvent pas gérer les sockets "
-"non bloquantes. DES_enc_read() utilise un état interne, et de ce fait ne peut "
-"être utilisé sur de multiples fichiers."
 
 #. type: textblock
 #: C/crypto/des.pod:278
@@ -2398,11 +1894,6 @@
 "default), DES_pcbc_encrypt is used.  If set to I<DES_CBC_MODE> "
 "DES_cbc_encrypt is used."
 msgstr ""
-"I<DES_rw_mode> est utilisé pour spécifier le mode de chiffrement à utiliser "
-"avec DES_enc_read() et DES_end_write(). Si défini à I<"
-"DES_PCBC_MODE> (mode par défaut), DES_pcbc_encrypt est utilisé. Si "
-"défini à I<DES_CBC_MODE> alors DES_cbc_encrypt est "
-"utilisé."
 
 #. type: textblock
 #: C/crypto/des.pod:285
@@ -2410,32 +1901,23 @@
 "Single-key DES is insecure due to its short key size.  ECB mode is not "
 "suitable for most applications; see L<des_modes(7)|des_modes(7)>."
 msgstr ""
-"DES avec une seule clé n'est pas sécurisé à cause de la taille de la clé qui "
-"est trop courte. Le mode ECB n'est pas approprié pour la plupart des "
-"applications ; voir L<des_modes(7)|des_modes(7)>."
 
 #. type: textblock
 #: C/crypto/des.pod:288
 msgid ""
 "The L<evp(3)|evp(3)> library provides higher-level encryption functions."
 msgstr ""
-"La bibliothèque L<evp(3)|evp(3)> fournit des fonctions de chiffrement de plus "
-"haut niveau."
 
 #. type: textblock
 #: C/crypto/des.pod:292
 msgid "DES_3cbc_encrypt() is flawed and must not be used in applications."
 msgstr ""
-"DES_3cbc_encrypt() présente des défauts et ne doit pas être utilisée dans une "
-"application."
 
 #. type: textblock
 #: C/crypto/des.pod:294
 msgid ""
 "DES_cbc_encrypt() does not modify B<ivec>; use DES_ncbc_encrypt()  instead."
 msgstr ""
-"DES_cbc_encrypt() ne modifie pas B<ivec> ; à la place utilisez "
-"DES_ncbc_encrypt()."
 
 #. type: textblock
 #: C/crypto/des.pod:297
@@ -2449,15 +1931,6 @@
 "will be using a multiple of 8 and because once you get into pulling bytes "
 "input bytes apart things get ugly!"
 msgstr ""
-"DES_cfb_encrypt() et DES_ofb_encrypt() opèrent sur une entrée de 8 bits. Cela "
-"veut dire que si vous mettez numbits à 12, et la longueur à 2, les premiers "
-"12 bits viendront du premier octet d'entrée et la deuxième moitié "
-"du deuxième octet d’entrée. Les 12 bits de la deuxième moitié auront leurs 8 derniers "
-"bits pris du 3ème octet d’entrée et leurs 4 premiers bits pris du 4ème octet "
-"d'entrée. De même pour la sortie. Cette fonction a été implémentée de cette "
-"façon car la plupart des gens utilisent un multiple de 8 et car lorsque "
-"qu’il faut séparer récupération et envoi des octets, les choses "
-"deviennent délicates !"
 
 #. type: textblock
 #: C/crypto/des.pod:307
@@ -2466,21 +1939,17 @@
 "library.  New applications should use a cryptographic hash function.  The "
 "same applies for DES_string_to_2key()."
 msgstr ""
-"DES_string_to_key() est disponible pour une compatibilité ascendante avec la "
-"bibliothèque du MIT. Les nouvelles applications devraient utiliser une "
-"fonction de hachage cryptographique. Il en va de même pour "
-"DES_string_to_2key()."
 
 #. type: =head1
 #: C/crypto/des.pod:311 C/crypto/hmac.pod:87 C/crypto/md5.pod:84
 #: C/crypto/mdc2.pod:51 C/crypto/ripemd.pod:53 C/crypto/sha.pod:53
 msgid "CONFORMING TO"
-msgstr "MISE EN CONFORMITÉ"
+msgstr "CONFORMITÉ À"
 
 #. type: textblock
 #: C/crypto/des.pod:313
 msgid "ANSI X3.106"
-msgstr "ANSI X3.106"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/des.pod:315
@@ -2488,8 +1957,6 @@
 "The B<des> library was written to be source code compatible with the MIT "
 "Kerberos library."
 msgstr ""
-"La bibliothèque B<des> a été écrite pour être compatible d'un point de vue du "
-"code source avec la bibliothèque Kerberos du MIT."
 
 #. type: textblock
 #: C/crypto/des.pod:320
@@ -2509,15 +1976,6 @@
 "(des_random_seed() just calls RAND_seed() and is present for backward "
 "compatibility only), buggy or already scheduled for removal."
 msgstr ""
-"Dans OpenSSL 0.9.7, toutes les fonctions des_ ont étés renommées en DES_ pour "
-"éviter tous conflits avec les anciennes versions de libdes. La compatibilité "
-"des fonctions des_ est fournie pendant une courte période, il en va de même "
-"pour crypt(). Les déclarations pour celles-ci sont dans <openssl/des_old.h>. "
-"Il "
-"n'y a pas de de variante DES_ pour des_random_seed(). La même chose se "
-"produira si d'autres fonctions sont jugées redondantes (des_random_seed() "
-"fait juste un appel à RAND_seed() et est uniquement présente pour raisons de "
-"compatibilité), boguées ou prévues d'être retirées. "
 
 #. type: textblock
 #: C/crypto/des.pod:334
@@ -2528,11 +1986,6 @@
 "des_check_key_parity(), des_fixup_key_parity() and des_is_weak_key()  are "
 "available in newer versions of that library."
 msgstr ""
-"des_cbc_cksum(), des_cbc_encrypt(), des_ecb_encrypt(), des_is_weak_key(), "
-"des_key_sched(), des_pcbc_encrypt(), des_quad_cksum(), des_random_key() et "
-"des_string_to_key() sont disponibles dans la bibliothèque Kerberos du MIT ; "
-"des_check_key_parity(), des_fixup_key_parity() et des_is_weak_key() sont "
-"disponibles dans les versions plus récentes de cette bibliothèque. "
 
 #. type: textblock
 #: C/crypto/des.pod:341
@@ -2540,8 +1993,6 @@
 "des_set_key_checked() and des_set_key_unchecked() were added in OpenSSL "
 "0.9.5."
 msgstr ""
-"des_set_key_checked() et des_set_key_unchecked() ont été ajoutées dans OpenSSL "
-"0.9.5."
 
 #. type: textblock
 #: C/crypto/des.pod:344
@@ -2551,10 +2002,6 @@
 "des_set_sequence_number() and des_rand_data() are used in newer versions of "
 "Kerberos but are not implemented here."
 msgstr ""
-"des_generate_random_block(), des_init_random_number_generator(), "
-"des_new_random_key(), des_set_random_generator_seed(), "
-"des_set_sequence_number() et des_rand_data() sont utilisées dans les versions "
-"plus récentes de Kerberos mais ne sont pas implémentées ici."
 
 #. type: textblock
 #: C/crypto/des.pod:349
@@ -2562,9 +2009,6 @@
 "des_random_key() generated cryptographically weak random data in SSLeay and "
 "in OpenSSL prior version 0.9.5, as well as in the original MIT library."
 msgstr ""
-"des_random_key() générait des données aléatoires cryptographiquement faibles "
-"dans SSLeay et dans OpenSSL avant la version 0.9.5, de même pour la "
-"bibliothèque MIT d'origine."
 
 #. type: =head1
 #: C/crypto/des.pod:353 C/crypto/ui.pod:189 C/crypto/ui_compat.pod:52
@@ -2577,8 +2021,6 @@
 "Eric Young (eay@cryptsoft.com). Modified for the OpenSSL project (http://www.";
 "openssl.org)."
 msgstr ""
-"Eric Young (eay@cryptsoft.com). Modifications pour le projet OpenSSL "
-"(http://www.openssl.org)."
 
 #. type: =for
 #: C/crypto/des_modes.pod:3
@@ -2599,13 +2041,13 @@
 "among other things."
 msgstr ""
 "Plusieurs algorithmes cryptographiques d'OpenSSL peuvent être utilisés dans "
-"de nombreux modes. Ils permettent entre autres d'utiliser les chiffrements de "
+"de nombreux modes. Ils permettent entre autre d'utiliser les chiffrements de "
 "bloc de la même façon que les chiffrements de flux."
 
 #. type: =head2
 #: C/crypto/des_modes.pod:17
 msgid "Electronic Codebook Mode (ECB)"
-msgstr "Mode dictionnaire de codes (Electronic Code Book, ECB)"
+msgstr "Dictionnaire de codes (Electronic Code Book, ECB)"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:19
@@ -2662,7 +2104,7 @@
 #. type: =head2
 #: C/crypto/des_modes.pod:42
 msgid "Cipher Block Chaining Mode (CBC)"
-msgstr "Mode enchaînement des blocs (Cipher Block Chaining, CBC)"
+msgstr "Enchaînement des blocs (Cipher Block Chaining, CBC)"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:44
@@ -2672,7 +2114,7 @@
 "IV); use des_ncbc_encrypt() instead."
 msgstr ""
 "Normalement disponible en tant que fonction I<algorithme>B<_cbc_encrypt>(). "
-"Attention au fait que B<des_cbc_encrypt>() n'est pas vraiment CBC DES (il ne "
+"Soyez conscient que B<des_cbc_encrypt>() n'est pas vraiment CBC DES (il ne "
 "met pas à jour le vecteur d'initialisation). Utilisez plutôt "
 "B<des_ncbc_encrypt>()."
 
@@ -2697,8 +2139,8 @@
 "and all preceding plaintext blocks and therefore blocks can not be "
 "rearranged."
 msgstr ""
-"L'opération de chaînage rend les blocs de texte chiffré dépendants du bloc "
-"de texte clair en cours et de tous les précédents, et par conséquent les blocs "
+"L'opération de chaînage rend les blocs de texte chiffré dépendants des blocs "
+"de texte clair actuel et de tous les précédents, et par conséquent les blocs "
 "ne peuvent pas être permutés."
 
 #. type: textblock
@@ -2714,12 +2156,12 @@
 #: C/crypto/des_modes.pod:72
 msgid "An error will affect the current and the following ciphertext blocks."
 msgstr ""
-"Une erreur affectera le bloc de texte chiffré en cours et tous les suivants."
+"Une erreur affectera le bloc de texte chiffré actuel et tous les suivants."
 
 #. type: =head2
 #: C/crypto/des_modes.pod:76
 msgid "Cipher Feedback Mode (CFB)"
-msgstr "Mode chiffrement à rétroaction (Cipher Feedback, CFB)"
+msgstr "Chiffrement à rétroaction (Cipher Feedback, CFB)"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:78
@@ -2750,7 +2192,7 @@
 "chained together and can not be rearranged."
 msgstr ""
 "L'opération de chaînage rend les variables de texte chiffré dépendantes des "
-"variables de texte clair en cours et de toutes les précédentes, et par "
+"variables de texte clair actuelle et de toutes les précédentes, et par "
 "conséquent les variables de j bits sont enchaînées et ne peuvent pas être "
 "permutées."
 
@@ -2760,7 +2202,7 @@
 "The strength of the CFB mode depends on the size of k (maximal if j == k).  "
 "In my implementation this is always the case."
 msgstr ""
-"La force du mode CFB dépend de la taille de k (maximale si j == k). Dans "
+"La force du mode CFB dépend de la taille de k (maximale si j == k). Dans "
 "cette implémentation, c'est toujours le cas."
 
 #. type: textblock
@@ -2777,20 +2219,20 @@
 #. type: textblock
 #: C/crypto/des_modes.pod:115 C/crypto/des_modes.pod:160
 msgid "Only multiples of j bits can be enciphered."
-msgstr "Seuls des multiples de j bits peuvent être chiffrés."
+msgstr "Seul des multiples de j bits peuvent être chiffrés."
 
 #. type: textblock
 #: C/crypto/des_modes.pod:119
 msgid ""
 "An error will affect the current and the following ciphertext variables."
 msgstr ""
-"Une erreur affectera la variable de texte chiffré en cours et toutes les "
+"Une erreur affectera la variable de texte chiffré actuelle et toutes les "
 "suivantes."
 
 #. type: =head2
 #: C/crypto/des_modes.pod:123
 msgid "Output Feedback Mode (OFB)"
-msgstr "Mode chiffrement à rétroaction de sortie (Output Feedback, OFB)"
+msgstr "Chiffrement à rétroaction de sortie (Output Feedback, OFB)"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:125
@@ -2819,7 +2261,7 @@
 msgid ""
 "The absence of chaining makes the OFB more vulnerable to specific attacks."
 msgstr ""
-"L'absence de chaînage rend le mode OFB plus vulnérable à certaines attaques."
+"L'absence de chaînage rend le mode OFB vulnérable à certaines attaques."
 
 #. type: textblock
 #: C/crypto/des_modes.pod:148
@@ -2829,7 +2271,7 @@
 msgstr ""
 "L'utilisation de différentes valeurs du vecteur d'initialisation empêche au "
 "même texte clair de produire le même texte chiffré, en produisant différents "
-"flux de clefs."
+"flux de clef."
 
 #. type: textblock
 #: C/crypto/des_modes.pod:164
@@ -2870,7 +2312,7 @@
 #. type: =head2
 #: C/crypto/des_modes.pod:184
 msgid "Triple ECB Mode"
-msgstr "Mode Triple ECB"
+msgstr "Triple ECB"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:186
@@ -2893,7 +2335,7 @@
 "even for the NSA."
 msgstr ""
 "Comme pour le chiffrement ECB, mais augmente la taille de clef à 168 bits. "
-"Des attaques théoriques existent qui réduisent la longueur de clef "
+"Des attaques théoriques existent permettant de rendre la longueur de clef "
 "effective à 112 bits, mais cette attaque nécessite aussi 2^56 blocs de "
 "mémoire, ce qui est peu probable, même pour la NSA."
 
@@ -2928,7 +2370,7 @@
 #. type: =head2
 #: C/crypto/des_modes.pod:219
 msgid "Triple CBC Mode"
-msgstr "Mode Triple CBC"
+msgstr "Triple CBC"
 
 #. type: textblock
 #: C/crypto/des_modes.pod:221
@@ -2994,7 +2436,7 @@
 #. type: textblock
 #: C/crypto/engine.pod:5
 msgid "engine - ENGINE cryptographic module support"
-msgstr "moteur - ENGINE module de support cryptographique"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/engine.pod:9
@@ -3003,8 +2445,6 @@
 " #include <openssl/engine.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/engine.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:11
@@ -3016,11 +2456,6 @@
 " ENGINE *ENGINE_get_prev(ENGINE *e);\n"
 "\n"
 msgstr ""
-" ENGINE *ENGINE_get_first(void);\n"
-" ENGINE *ENGINE_get_last(void);\n"
-" ENGINE *ENGINE_get_next(ENGINE *e);\n"
-" ENGINE *ENGINE_get_prev(ENGINE *e);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:16
@@ -3030,9 +2465,6 @@
 " int ENGINE_remove(ENGINE *e);\n"
 "\n"
 msgstr ""
-" int ENGINE_add(ENGINE *e);\n"
-" int ENGINE_remove(ENGINE *e);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:19
@@ -3041,8 +2473,6 @@
 " ENGINE *ENGINE_by_id(const char *id);\n"
 "\n"
 msgstr ""
-" ENGINE *ENGINE_by_id(const char *id);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:21
@@ -3052,9 +2482,6 @@
 " int ENGINE_finish(ENGINE *e);\n"
 "\n"
 msgstr ""
-" int ENGINE_init(ENGINE *e);\n"
-" int ENGINE_finish(ENGINE *e);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:24
@@ -3077,22 +2504,6 @@
 " void ENGINE_load_builtin_engines(void);\n"
 "\n"
 msgstr ""
-" void ENGINE_load_openssl(void);\n"
-" void ENGINE_load_dynamic(void);\n"
-" #ifndef OPENSSL_NO_STATIC_ENGINE\n"
-" void ENGINE_load_4758cca(void);\n"
-" void ENGINE_load_aep(void);\n"
-" void ENGINE_load_atalla(void);\n"
-" void ENGINE_load_chil(void);\n"
-" void ENGINE_load_cswift(void);\n"
-" void ENGINE_load_gmp(void);\n"
-" void ENGINE_load_nuron(void);\n"
-" void ENGINE_load_sureware(void);\n"
-" void ENGINE_load_ubsec(void);\n"
-" #endif\n"
-" void ENGINE_load_cryptodev(void);\n"
-" void ENGINE_load_builtin_engines(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:40 C/crypto/engine.pod:338
@@ -3101,8 +2512,6 @@
 " void ENGINE_cleanup(void);\n"
 "\n"
 msgstr ""
-" void ENGINE_cleanup(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:42
@@ -3118,15 +2527,6 @@
 " ENGINE *ENGINE_get_digest_engine(int nid);\n"
 "\n"
 msgstr ""
-" ENGINE *ENGINE_get_default_RSA(void);\n"
-" ENGINE *ENGINE_get_default_DSA(void);\n"
-" ENGINE *ENGINE_get_default_ECDH(void);\n"
-" ENGINE *ENGINE_get_default_ECDSA(void);\n"
-" ENGINE *ENGINE_get_default_DH(void);\n"
-" ENGINE *ENGINE_get_default_RAND(void);\n"
-" ENGINE *ENGINE_get_cipher_engine(int nid);\n"
-" ENGINE *ENGINE_get_digest_engine(int nid);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:51
@@ -3143,16 +2543,6 @@
 " int ENGINE_set_default_string(ENGINE *e, const char *list);\n"
 "\n"
 msgstr ""
-" int ENGINE_set_default_RSA(ENGINE *e);\n"
-" int ENGINE_set_default_DSA(ENGINE *e);\n"
-" int ENGINE_set_default_ECDH(ENGINE *e);\n"
-" int ENGINE_set_default_ECDSA(ENGINE *e);\n"
-" int ENGINE_set_default_DH(ENGINE *e);\n"
-" int ENGINE_set_default_RAND(ENGINE *e);\n"
-" int ENGINE_set_default_ciphers(ENGINE *e);\n"
-" int ENGINE_set_default_digests(ENGINE *e);\n"
-" int ENGINE_set_default_string(ENGINE *e, const char *list);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:61
@@ -3161,8 +2551,6 @@
 " int ENGINE_set_default(ENGINE *e, unsigned int flags);\n"
 "\n"
 msgstr ""
-" int ENGINE_set_default(ENGINE *e, unsigned int flags);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:63
@@ -3172,9 +2560,6 @@
 " void ENGINE_set_table_flags(unsigned int flags);\n"
 "\n"
 msgstr ""
-" unsigned int ENGINE_get_table_flags(void);\n"
-" void ENGINE_set_table_flags(unsigned int flags);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:66
@@ -3211,36 +2596,6 @@
 " int ENGINE_register_all_complete(void);\n"
 "\n"
 msgstr ""
-" int ENGINE_register_RSA(ENGINE *e);\n"
-" void ENGINE_unregister_RSA(ENGINE *e);\n"
-" void ENGINE_register_all_RSA(void);\n"
-" int ENGINE_register_DSA(ENGINE *e);\n"
-" void ENGINE_unregister_DSA(ENGINE *e);\n"
-" void ENGINE_register_all_DSA(void);\n"
-" int ENGINE_register_ECDH(ENGINE *e);\n"
-" void ENGINE_unregister_ECDH(ENGINE *e);\n"
-" void ENGINE_register_all_ECDH(void);\n"
-" int ENGINE_register_ECDSA(ENGINE *e);\n"
-" void ENGINE_unregister_ECDSA(ENGINE *e);\n"
-" void ENGINE_register_all_ECDSA(void);\n"
-" int ENGINE_register_DH(ENGINE *e);\n"
-" void ENGINE_unregister_DH(ENGINE *e);\n"
-" void ENGINE_register_all_DH(void);\n"
-" int ENGINE_register_RAND(ENGINE *e);\n"
-" void ENGINE_unregister_RAND(ENGINE *e);\n"
-" void ENGINE_register_all_RAND(void);\n"
-" int ENGINE_register_STORE(ENGINE *e);\n"
-" void ENGINE_unregister_STORE(ENGINE *e);\n"
-" void ENGINE_register_all_STORE(void);\n"
-" int ENGINE_register_ciphers(ENGINE *e);\n"
-" void ENGINE_unregister_ciphers(ENGINE *e);\n"
-" void ENGINE_register_all_ciphers(void);\n"
-" int ENGINE_register_digests(ENGINE *e);\n"
-" void ENGINE_unregister_digests(ENGINE *e);\n"
-" void ENGINE_register_all_digests(void);\n"
-" int ENGINE_register_complete(ENGINE *e);\n"
-" int ENGINE_register_all_complete(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:96
@@ -3250,19 +2605,10 @@
 " int ENGINE_cmd_is_executable(ENGINE *e, int cmd);\n"
 " int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,\n"
 "         long i, void *p, void (*f)(void), int cmd_optional);\n"
-" int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char "
-"*arg,\n"
+" int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg,\n"
 "         int cmd_optional);\n"
 "\n"
 msgstr ""
-" int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void));\n"
-" int ENGINE_cmd_is_executable(ENGINE *e, int cmd);\n"
-" int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,\n"
-"         long i, void *p, void (*f)(void), int cmd_optional);\n"
-" int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char "
-"*arg,\n"
-"         int cmd_optional);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:103
@@ -3272,9 +2618,6 @@
 " void *ENGINE_get_ex_data(const ENGINE *e, int idx);\n"
 "\n"
 msgstr ""
-" int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg);\n"
-" void *ENGINE_get_ex_data(const ENGINE *e, int idx);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:106
@@ -3284,9 +2627,6 @@
 "         CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);\n"
 "\n"
 msgstr ""
-" int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,\n"
-"         CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:109
@@ -3297,10 +2637,6 @@
 " int ENGINE_up_ref(ENGINE *e);\n"
 "\n"
 msgstr ""
-" ENGINE *ENGINE_new(void);\n"
-" int ENGINE_free(ENGINE *e);\n"
-" int ENGINE_up_ref(ENGINE *e);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:113
@@ -3315,46 +2651,18 @@
 " int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth);\n"
 " int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth);\n"
 " int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *rand_meth);\n"
-" int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR "
-"destroy_f);\n"
+" int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f);\n"
 " int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f);\n"
-" int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR "
-"finish_f);\n"
+" int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f);\n"
 " int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f);\n"
-" int ENGINE_set_load_privkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR "
-"loadpriv_f);\n"
-" int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR "
-"loadpub_f);\n"
+" int ENGINE_set_load_privkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpriv_f);\n"
+" int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f);\n"
 " int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f);\n"
 " int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f);\n"
 " int ENGINE_set_flags(ENGINE *e, int flags);\n"
 " int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns);\n"
 "\n"
 msgstr ""
-" int ENGINE_set_id(ENGINE *e, const char *id);\n"
-" int ENGINE_set_name(ENGINE *e, const char *name);\n"
-" int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);\n"
-" int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth);\n"
-" int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *dh_meth);\n"
-" int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *dh_meth);\n"
-" int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth);\n"
-" int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth);\n"
-" int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *rand_meth);\n"
-" int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR "
-"destroy_f);\n"
-" int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f);\n"
-" int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR "
-"finish_f);\n"
-" int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f);\n"
-" int ENGINE_set_load_privkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR "
-"loadpriv_f);\n"
-" int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR "
-"loadpub_f);\n"
-" int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f);\n"
-" int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f);\n"
-" int ENGINE_set_flags(ENGINE *e, int flags);\n"
-" int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:133
@@ -3383,28 +2691,6 @@
 " const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e);\n"
 "\n"
 msgstr ""
-" const char *ENGINE_get_id(const ENGINE *e);\n"
-" const char *ENGINE_get_name(const ENGINE *e);\n"
-" const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e);\n"
-" const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e);\n"
-" const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e);\n"
-" const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e);\n"
-" const DH_METHOD *ENGINE_get_DH(const ENGINE *e);\n"
-" const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e);\n"
-" const STORE_METHOD *ENGINE_get_STORE(const ENGINE *e);\n"
-" ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e);\n"
-" ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e);\n"
-" ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e);\n"
-" ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e);\n"
-" ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e);\n"
-" ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e);\n"
-" ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e);\n"
-" ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e);\n"
-" const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid);\n"
-" const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid);\n"
-" int ENGINE_get_flags(const ENGINE *e);\n"
-" const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:155
@@ -3416,11 +2702,6 @@
 "     UI_METHOD *ui_method, void *callback_data);\n"
 "\n"
 msgstr ""
-" EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,\n"
-"     UI_METHOD *ui_method, void *callback_data);\n"
-" EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,\n"
-"     UI_METHOD *ui_method, void *callback_data);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/engine.pod:160
@@ -3429,8 +2710,6 @@
 " void ENGINE_add_conf_module(void);\n"
 "\n"
 msgstr ""
-" void ENGINE_add_conf_module(void);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:164
@@ -3441,11 +2720,6 @@
 "mechanism to allow them to be dynamically loaded in and out of the running "
 "application."
 msgstr ""
-"Ces fonctions créent, manipulent et utilisent des modules cryptographiques "
-"sous la forme d'objets B<ENGINE>. Ces objets servent de conteneurs pour les "
-"implémentations d'algorithmes cryptographiques, et ils supportent un "
-"mécanisme de comptage de référence qui les autorisent à être chargés de "
-"façon dynamique dans et hors de l'application exécutée."
 
 #. type: textblock
 #: C/crypto/engine.pod:170
@@ -3453,8 +2727,6 @@
 "The cryptographic functionality that can be provided by an B<ENGINE> "
 "implementation includes the following abstractions;"
 msgstr ""
-"La fonctionnalité cryptographique qui peut être fournie par l'implémentation "
-"d'un B<ENGINE> inclut les abstractions suivantes :"
 
 #. type: verbatim
 #: C/crypto/engine.pod:173
@@ -3468,20 +2740,11 @@
 " key-loading - loading public and/or private EVP_PKEY keys\n"
 "\n"
 msgstr ""
-" RSA_METHOD - pour fournir une implémentation RSA alternative\n"
-" DSA_METHOD, DH_METHOD, RAND_METHOD, ECDH_METHOD, ECDSA_METHOD,\n"
-"       STORE_METHOD - identique pour d'autres API d'OpenSSL\n"
-" EVP_CIPHER - potentiellement plusieurs algorithmes de chiffrement (indexé "
-"par 'nid')\n"
-" EVP_DIGEST - potentiellement plusieurs algorithmes de hachage (indexé par "
-"'nid')\n"
-" key-loading - chargement des clés EVP_PKEY publiques/privées\n"
-"\n"
 
 #. type: =head2
 #: C/crypto/engine.pod:180
 msgid "Reference counting and handles"
-msgstr "Référence de calculs et traitements"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:182
@@ -3492,12 +2755,6 @@
 "copies of an ENGINE pointer if the copies will be used (and released) "
 "independently."
 msgstr ""
-"À cause de la nature modulaire de l'API ENGINE, les pointeurs vers les ENGINE "
-"doivent être traités comme des références abstraites vers des ressources — "
-"c.-à-d. pas seulement comme des pointeurs, mais aussi comme des références vers "
-"l'objet ENGINE sous-jacent. C'est-à-dire que l'on doit obtenir une nouvelle "
-"référence lors de la copie d'un pointeur vers un ENGINE si la copie sera "
-"utilisée (et relâchée) de façon indépendante."
 
 #. type: textblock
 #: C/crypto/engine.pod:188
@@ -3508,12 +2765,6 @@
 "use the pointer value at all, as this kind of reference is a guarantee that "
 "the structure can not be deallocated until the reference is released."
 msgstr ""
-"Les objets ENGINE ont deux niveaux de comptage de références pour "
-"correspondre à la façon dont les objets sont utilisés. À plus bas niveau, "
-"chaque pointeur ENGINE est intrinsèquement une référence B<structurelle> - "
-"une référence structurelle est nécessaire pour utiliser toute valeur de "
-"pointeur, car ce type de référence garantie que la structure ne peut pas être "
-"désallouée avant que sa référence ne soit relâchée."
 
 #. type: textblock
 #: C/crypto/engine.pod:194
@@ -3532,25 +2783,11 @@
 "cryptographic operations and will remain uninitialised until after you have "
 "released your reference."
 msgstr ""
-"Mais, une référence structurelle n'offre aucune garantie que l'ENGINE soit "
-"initialisé et capable d'utiliser n'importe laquelle de ses implémentations "
-"cryptographiques. En effet il est fort probable que la plupart des ENGINE ne "
-"puissent pas s'initialiser dans des environnements typiques, car les ENGINES "
-"sont typiquement utilisés pour supporter du matériel spécialisé. Pour "
-"utiliser une fonctionnalité d'ENGINE, il est nécessaire d'avoir une référence "
-"B<fonctionnelle>. Cette référence peut être considérée comme une forme "
-"spécialisée de référence structurelle, car chaque référence fonctionnelle "
-"contient de façon implicite une référence structurelle. Par contre, pour "
-"éviter d'avoir des programmes durs à déboguer, il est recommandé de "
-"traiter ces deux types de référence indépendamment l'une de l'autre. Si une "
-"référence fonctionnelle est disponible pour un ENGINE, il est garanti que cet "
-"ENGINE a été initialisé, est prêt à faire des opérations cryptographiques et "
-"restera non-initialisé jusqu’à la libération de la référence."
 
 #. type: textblock
 #: C/crypto/engine.pod:208
 msgid "I<Structural references>"
-msgstr "I<Structural references>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:210
@@ -3561,11 +2798,6 @@
 "sufficient if you only need to query or manipulate the data of an ENGINE "
 "implementation rather than use its functionality."
 msgstr ""
-"Ce type de référence de base est utilisé pour instancier de nouveaux ENGINE, "
-"itérer sur les listes liées d'ENGINE chargés d'OpenSSL, lire les informations "
-"d'un ENGINE, etc. Une référence structurelle est essentiellement suffisante "
-"pour des requêtes ou pour manipuler les données d'implémentation d'un ENGINE "
-"au lieu d'utiliser ses fonctionnalités."
 
 #. type: textblock
 #: C/crypto/engine.pod:216
@@ -3578,13 +2810,6 @@
 "ENGINE object itself will only actually be cleaned up and deallocated when "
 "the last structural reference is released."
 msgstr ""
-"La fonction ENGINE_new() renvoie une référence structurelle vers un objet "
-"ENGINE vide. Il y a d'autres fonctions d'API dans ENGINE qui renvoient une "
-"référence structurelle comme : ENGINE_by_id(), ENGINE_get_first(), "
-"ENGINE_get_last(), ENGINE_get_next(), ENGINE_get_prev(). Toute référence "
-"structurelle devrait être produite par un appel correspondant à la fonction "
-"ENGINE_free() — l'objet ENGINE lui-même ne sera nettoyé et désalloué quand "
-"la dernière référence structurelle sera libérée."
 
 #. type: textblock
 #: C/crypto/engine.pod:224
@@ -3605,21 +2830,6 @@
 "the structural reference passed to the function is released on behalf of the "
 "caller."
 msgstr ""
-"On doit aussi remarquer que beaucoup d'appels de fonctions d'API d'ENGINE qui "
-"acceptent une référence structurelle obtiendront de façon interne une autre "
-"référence — typiquement cela ce produira lorsque l'ENGINE donné aura besoin "
-"d'OpenSSL après le retour de la fonction. Ex : la fonction d'ajout d'un "
-"nouvel ENGINE à la liste interne d'OpenSSL aura stocké une nouvelle référence "
-"structurelle en interne, l'appelant est toujours responsable de la libération "
-"de leurs propres références avec ENGINE_free() quand ils n'en ont plus besoin. "
-"D'une façon similaire, certaines fonctions relâcheront automatiquement la "
-"référence structurelle qui leur est donnée si une partie du travail de la "
-"fonction est de faire cela. Ex : les fonctions ENGINE_get_next() et "
-"ENGINE_get_prev() sont utilisées pour itérer à travers la liste interne "
-"d'ENGINE — elles renverront une nouvelle référence structurelle au prochain "
-"(ou précédent) ENGINE dans la liste ou NULL si elles sont à la fin (ou au "
-"début) de la liste, mais dans tous les cas la référence structurelle passée à "
-"la fonction est relâchée au nom de l'appelant. "
 
 #. type: textblock
 #: C/crypto/engine.pod:240
@@ -3628,14 +2838,11 @@
 "consult that function's documentation \"man\" page, or failing that the "
 "openssl/engine.h header file includes some hints."
 msgstr ""
-"Pour éclaircir la façon dont une fonction traite les références, on doit "
-"toujours consulter la documentation en utilisant la page man de cette fonction, ou à "
-"défaut l’en-tête openssl/engine.h qui contient des indices."
 
 #. type: textblock
 #: C/crypto/engine.pod:244
 msgid "I<Functional references>"
-msgstr "I<Références fonctionnelles>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:246
@@ -3646,11 +2853,6 @@
 "reference to the required ENGINE, or by asking OpenSSL for the default "
 "operational ENGINE for a given cryptographic purpose."
 msgstr ""
-"Comme mentionné, les références fonctionnelles existent lorsque la "
-"fonctionnalité cryptographique d'un ENGINE doit être disponible. Une "
-"référence fonctionnelle peut être obtenue de plusieurs façons : d'une "
-"référence structurelle pré-existante demandée par l'ENGINE, ou en demandant à "
-"l'ENGINE par défaut d'OpenSSL pour une tâche cryptographique donnée."
 
 #. type: textblock
 #: C/crypto/engine.pod:252
@@ -3664,15 +2866,6 @@
 "released by calling ENGINE_finish() (which removes the implicit structural "
 "reference as well)."
 msgstr ""
-"Pour obtenir une référence fonctionnelle à partir d'une référence "
-"structurelle, appelez la fonction ENGINE_init(). Cela renvoie 0 si l'ENGINE "
-"n'était pas déjà opérationnel et ne pouvait donc pas être initialisé (ex : le "
-"manque de pilotes dans le système, pas de matériel spécifique attaché, etc), "
-"sinon elle renverra autre chose que 0 pour indiquer que l'ENGINE est "
-"maintenant opérationnel et a alloué une référence B<fonctionnelle> à "
-"l'ENGINE. Toutes les références fonctionnelles sont libérées en appelant "
-"ENGINE_finish() (ce qui supprime les références structurelles implicites "
-"aussi)."
 
 #. type: textblock
 #: C/crypto/engine.pod:261
@@ -3684,18 +2877,11 @@
 "they are used automatically when creating and using the relevant algorithm-"
 "specific types in OpenSSL, such as RSA, DSA, EVP_CIPHER_CTX, etc."
 msgstr ""
-"La deuxième façon de récupérer des références fonctionnelles est en "
-"demandant à OpenSSL une implémentation par défaut pour la tâche voulue, ex : "
-"avec ENGINE_get_default_RSA(), ENGINE_get_default_cipher_engine(), etc. "
-"Celles-ci sont expliquées dans la prochaine partie, mais elles ne sont "
-"d'habitude pas requises par les programmeurs d'application car elles sont "
-"utilisées automatiquement quand les spécificités de types de l'algorithme "
-"dans OpenSSL sont créées et utilisées, comme RSA, DSA, EVP_CIPHER_CTX, etc."
 
 #. type: =head2
 #: C/crypto/engine.pod:268
 msgid "Default implementations"
-msgstr "Implémentations par défaut"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:270
@@ -3709,16 +2895,6 @@
 "abstractions like RSA, DSA, etc, there is only one \"algorithm\" so all "
 "implementations implicitly register using the same 'nid' index."
 msgstr ""
-"Pour chaque abstraction gérée, le code d'ENGINE maintient une table d'état "
-"de contrôle interne dans laquelle les implémentations sont disponibles pour "
-"une abstraction donnée et qui devrait être utilisée par défaut. Ces "
-"implémentations sont enregistrées dans les tables et indexées par une valeur "
-"« nid », parce que les abstractions comme EVP_CIPHER et EVP_DIGEST "
-"gèrent énormément d'algorithmes et de modes distincts, et les ENGINE "
-"peuvent arbitrairement tous les prendre en charge. Dans le cas ou d'autres "
-"abstractions comme RSA, DSA, etc, il n'y a qu'un seul « algorithme » donc "
-"toutes les implémentations sont enregistrées de façon implicite en utilisant "
-"le même indexe « nid »."
 
 #. type: textblock
 #: C/crypto/engine.pod:280
@@ -3733,16 +2909,6 @@
 "OpenSSL will from then on behave the way it used to before the ENGINE API "
 "existed."
 msgstr ""
-"Quand une requête d'un ENGINE par défaut pour une abstraction/algorithme/mode "
-"est faite (par ex. en appelant RSA_new_method(NULL)), un appel "
-"« get_default » "
-"peut être fait au sous-système de l'ENGINE pour traiter l'état de la table "
-"correspondante et renvoyer une référence fonctionnelle vers un ENGINE "
-"initialisé dont l'implémentation devrait être utilisée. Si aucun ENGINE ne doit "
-"(ou peut) être utilisé, elle renverra NULL et l'appelant opérera avec un "
-"gérant d'ENGINE NULL — cela correspond à utiliser une implémentation "
-"conventionnelle d'un programme. Dans ce cas, OpenSSL fonctionnera de la même "
-"façon qu'avant qu'un API ENGINE existe."
 
 #. type: textblock
 #: C/crypto/engine.pod:289
@@ -3766,30 +2932,11 @@
 "are indexed by 'nid', these flags and cached-responses are distinct for each "
 "'nid' value."
 msgstr ""
-"Chaque table d'état a un drapeau pour indiquer si elle a traitée cette "
-"requête « get_default » depuis que la table a été modifiée, car pour traiter "
-"cette question elle doit itérer à travers tous les ENGINE enregistrés dans la "
-"table en essayant de les initialiser les uns après les autres, au cas ou l'un "
-"d'entre eux soit opérationnel. Si elle renvoie une référence fonctionnelle "
-"vers un ENGINE, elle mettra en cache une autre référence pour accélérer le "
-"processus en cas de futures requêtes (plus besoin d'avoir à itérer sur toute "
-"la table). De même, elle mettra en cache une réponse NULL si aucun ENGINE "
-"n'est disponible pour les futures requêtes ne fassent pas la même "
-"itération, sauf si l'état de la table change. Ce comportement peut aussi être "
-"changé ; si le drapeau ENGINE_TABLE_FLAG_NOINIT est défini (en utilisant "
-"ENGINE_set_table_flags()), il n'y aura pas de tentatives d'initialisation, et "
-"la seule façon pour une table d'état de renvoyer à un ENGINE non-NULL pour "
-"la requête « get_default » sera celle qui sera indiquée de façon explicite "
-"dans la table. Ex : ENGINE_set_default_RSA() fait la même chose que "
-"ENGINE_register_RSA() sauf qu'elle définit aussi le cache de réponses de la "
-"table pour la requête « get_default ». Dans ce cas les abstractions comme "
-"EVP_CIPHER, ou les implémentations sont indexées par un « nid », ces drapeaux "
-"et réponses cachées sont différents des valeurs « nid »."
 
 #. type: =head2
 #: C/crypto/engine.pod:308
 msgid "Application requirements"
-msgstr "Exigences de l'application"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:310
@@ -3806,18 +2953,6 @@
 "all available ENGINE implementations should be made visible to OpenSSL - "
 "this is controlled by calling the various \"load\" functions, eg."
 msgstr ""
-"Cette partie expliquera les choses de base qu'un programmeur d'applications "
-"doit connaître pour rendre les éléments les plus utiles de la fonctionnalité "
-"d'ENGINE disponibles pour l'utilisateur. La première chose à considérer est "
-"si le programmeur veut fournir un module alternatif d'ENGINE disponible à "
-"l'application et à l'utilisateur. OpenSSL maintient une liste liée interne "
-"d'ENGINE « visibles » qu'il a besoin d'opérer — au démarrage, cette liste est "
-"vide et d'ailleurs si une application n'utilise pas d'appel de l'API "
-"d'ENGINE et qu'elle utilise un lien statique contre openssl, alors le binaire "
-"de l'application résultante contiendra tout code d'ENGINE alternatif. La "
-"première considération est donc de savoir si toute implémentation d'ENGINE "
-"doit être rendue visible à OpenSSL — cela est contrôlé en appelant les "
-"différentes fonctions de « chargement », ex :"
 
 #. type: verbatim
 #: C/crypto/engine.pod:323
@@ -3834,16 +2969,6 @@
 " void ENGINE_load_builtin_engines(void);\n"
 "\n"
 msgstr ""
-" /* Rendre l'ENGINE « dynamique » disponible */\n"
-" void ENGINE_load_dynamic(void);\n"
-" /* Rendre le support d'accélération matériel CryptoSwift disponible */\n"
-" void ENGINE_load_cswift(void);\n"
-" /* Rendre le support de matériel « CHIL » de nCipher disponible */\n"
-" void ENGINE_load_chil(void);\n"
-" ...\n"
-" /* Rendre toutes les implémentations  du paquet OpenSSL disponibles. */\n"
-" void ENGINE_load_builtin_engines(void);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:333
@@ -3853,10 +2978,6 @@
 "into OpenSSL's internal linked list. At this point it is important to "
 "mention an important API function;"
 msgstr ""
-"Après avoir appelé n'importe laquelle de ces fonctions, les objets ENGINE ont "
-"été alloués de façon dynamique, peuplés avec ces implémentations et liés à la "
-"liste chaînée interne d'OpenSSL. A partir de ce moment il est nécessaire de "
-"mentionner une fonction de l'API importante ;"
 
 #. type: textblock
 #: C/crypto/engine.pod:340
@@ -3875,20 +2996,6 @@
 "callbacks required by the functionality you do use will be required by the "
 "linker."
 msgstr ""
-"Si aucune fonction d'API ENGINE n'est appelée dans une application, alors il "
-"n'y a pas de fuite mémoire dont il faut s'inquiéter dans les fonctionnalités "
-"d'ENGINE, par contre si n'importe quel ENGINE est chargé, même s'ils n'est "
-"jamais enregistré ou utilisé, il est nécessaire d'utiliser la fonction "
-"ENGINE_cleanup() pour nettoyer de façon correcte avant la fermeture du "
-"programme, si l'utilisateur veut éviter les fuites mémoires. Ce mécanisme "
-"utilise une table enregistrant les rétroactions internes pour que la "
-"fonctionnalité d'API ENGINE qui la reconnaît puisse enregistrer la façon de la "
-"nettoyer à appeler pendant ENGINE_cleanup(). Cette approche permet à "
-"ENGINE_cleanup() de nettoyer après n'importe quelle utilisation par un "
-"programme d'une fonctionnalité d'ENGINE, mais cela ne crée pas de lien de "
-"dépendance à toutes les fonctionnalités possibles d'ENGINE — uniquement les "
-"rétroactions de nettoyage nécessitées par les fonctionnalités utilisées "
-"seront nécessaires pour le lieur."
 
 #. type: textblock
 #: C/crypto/engine.pod:354
@@ -3907,25 +3014,11 @@
 "and leave developers to consider these and the source code to openssl's "
 "builtin utilities as guides."
 msgstr ""
-"Le fait que les ENGINES sont rendus visibles à OpenSSL (et de ce fait sont "
-"liés au programmes et chargés en mémoire lors de l'exécution) ne veut pas "
-"dire qu'ils sont « enregistrés » ou appelés et utilisés par OpenSSL "
-"automatiquement — ce comportement est quelque chose qui doit être contrôlé "
-"par l'application. Certaines applications auront besoin d'autoriser "
-"l'utilisateur à spécifier exactement quel ENGINE il voudra utiliser si l'un "
-"doit être utilisé. D'autres préféreront charger tout pour que OpenSSL utilise "
-"automatiquement le premier ENGINE qui peut s'initialiser correctement — c.-à-d. : "
-"pour supposer que cela correspond à une accélération matérielle attachée à la "
-"machine, ou quelque chose comme cela. Il y a probablement énormément  "
-"d'autres façons pour lesquelles l'application peut favoriser la gestion des "
-"choses, nous illustrerons donc simplement les conséquences en les appliquant "
-"à des cas simples et laisserons les développeurs considérer ces cas en "
-"prenant le code source de fonctions utilitaires d'OpenSSL comme guide."
 
 #. type: textblock
 #: C/crypto/engine.pod:368
 msgid "I<Using a specific ENGINE implementation>"
-msgstr "I<Utiliser une implémentation spécifique d'ENGINE>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:370
@@ -3937,13 +3030,6 @@
 "should use its builtin software as per usual. The following code illustrates "
 "how to approach this;"
 msgstr ""
-"Ici nous allons supposer qu'une application a été configurée par son "
-"utilisateur ou administrateur pour utiliser l'ENGINE « ACME » s'il est "
-"disponible dans la version d'OpenSSL avec laquelle l'application a été "
-"compilée. S'il est disponible, il devra être utilisé par défaut pour tous les "
-"chiffrements RSA, DSA et les opérations par chiffrement symétrique, sinon "
-"OpenSSL devrait utiliser ses fonctionnalités internes comme d'habitude. Le "
-"code suivant illustre comment faire cela :"
 
 #. type: verbatim
 #: C/crypto/engine.pod:377
@@ -3973,34 +3059,11 @@
 " ENGINE_free(e);\n"
 "\n"
 msgstr ""
-" ENGINE *e;\n"
-" const char *engine_id = \"ACME\";\n"
-" ENGINE_load_builtin_engines();\n"
-" e = ENGINE_by_id(engine_id);\n"
-" if(!e)\n"
-"     /* le moteur n'est pas disponible */\n"
-"     return;\n"
-" if(!ENGINE_init(e)) {\n"
-"     /* le moteur n'a pas pu être initialisé, libérer « e » */\n"
-"     ENGINE_free(e);\n"
-"     return;\n"
-" }\n"
-" if(!ENGINE_set_default_RSA(e))\n"
-"     /* Ceci devrait uniquement se produire quand « e » ne peut être "
-"initialisé, mais la déclaration précédente suggère qu'il l'a été. */\n"
-"     abort();\n"
-" ENGINE_set_default_DSA(e);\n"
-" ENGINE_set_default_ciphers(e);\n"
-" /* Libère la référence fonctionnelle de ENGINE_init() */\n"
-" ENGINE_finish(e);\n"
-" /* Libère la référence structurelle de ENGINE_by_id() */\n"
-" ENGINE_free(e);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:400
 msgid "I<Automatically using builtin ENGINE implementations>"
-msgstr "I<Utiliser automatiquement les implémentations intégrées d'ENGINE>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:402
@@ -4010,11 +3073,6 @@
 "OpenSSL - if there is an ENGINE that implements it and can be initialise, it "
 "should be used. The following code illustrates how this can work;"
 msgstr ""
-"Ici nous allons supposer que l'on veut charger et enregistrer toutes les "
-"implémentations d'ENGINE fournies avec OpenSSL, de façon à ce que n'importe "
-"quel algorithme de cryptographie qui est utilisé par OpenSSL — si il y a un "
-"ENGINE qui l'implémente il peut être initialisé, alors il sera utilisé. Le "
-"code suivant montre un exemple d'utilisation ;"
 
 #. type: verbatim
 #: C/crypto/engine.pod:407
@@ -4026,12 +3084,6 @@
 " ENGINE_register_all_complete();\n"
 "\n"
 msgstr ""
-" /* Charger et rendre visible tous les paquets ENGINE dans la mémoire. */\n"
-" ENGINE_load_builtin_engines();\n"
-" /* Enregistrer tous les paquets pour tous les algorithmes qu'ils "
-"implémentent collectivement */\n"
-" ENGINE_register_all_complete();\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:412
@@ -4041,15 +3093,11 @@
 "ENGINE_init() and if any of those succeed, that ENGINE will be set as the "
 "default for RSA use from then on."
 msgstr ""
-"Cela est tout ce qui est requis. Par exemple, la prochaine fois qu'OpenSSL "
-"essaye de mettre en place une clé RSA, n'importe quel ENGINE fourni qui "
-"implémente RSA_METHOD sera passé à ENGINE_init() et si l'une d'entre elle "
-"réussit, cet ENGINE sera choisi par défaut pour l'utilisation de RSA."
 
 #. type: =head2
 #: C/crypto/engine.pod:417
 msgid "Advanced configuration support"
-msgstr "Support de configuration avancé"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:419
@@ -4070,22 +3118,6 @@
 "and simply prefer to pass settings into ENGINEs exactly as they are provided "
 "by the user."
 msgstr ""
-"Il y a un mécanisme supporté par le framework de l'ENGINE qui autorise chaque "
-"implémentation d'ENGINE de définir un nombre arbitraire d'ensembles de "
-"« commandes » de configuration, de les révéler à OpenSSL et toute application "
-"basée sur OpenSSL. Ce mécanisme est entièrement basé sur l'utilisation de "
-"couple noms-valeurs et suppose que l'entrée est au format ASCII (pas "
-"d'unicode ou d'UTF pour l'instant !), c'est donc idéal si l'application veut "
-"fournir une possibilité de fournir, d'une façon transparente aux "
-"utilisateurs, des « directives » de configuration arbitraires directement à "
-"ces ENGINE. Il permet aussi à l'application de demander de façon dynamique à "
-"l'implémentation de l'ENGINE des noms, descriptions et drapeaux d'entrée des "
-"« commandes de contrôle » disponibles, ce qui fourni un programme plus "
-"flexible. Or, si l'utilisateur s'attend à connaitre quel ENGINE il "
-"utilise (dans le cas de matériel spécialisé, cela va sans dire) alors "
-"l'application peut ne pas s'intéresser à la découverte des commandes de "
-"contrôle supportées et plus simplement préférer passer des réglages "
-"directement à l'ENGINE tels qu'ils sont fournis par l'utilisateur."
 
 #. type: textblock
 #: C/crypto/engine.pod:435
@@ -4106,27 +3138,11 @@
 "descriptions attached to builtin control commands and/or in external product "
 "documentation."
 msgstr ""
-"Avant d'illustrer les commandes de contrôle, il est raisonnable de mentionner "
-"ce pour quoi elles sont utilisées. De façon générale il y a deux utilisations "
-"de commandes de contrôle ; la première consiste à fournir les détails "
-"nécessaires à l'implémentation (qui peut ne rien connaître du système hôte) "
-"pour que l'initialisation se fasse. Cela peut inclure n'importe quel chemin "
-"de pilote ou de fichier config qui a besoin d'être chargé, des adresses "
-"réseau requises, des identifiants de cartes à puce, des mots de passe pour "
-"initialiser des dispositifs sécurisés, des informations de connexion, "
-"etc. Cette classe de commandes a typiquement besoin d'être passée à un ENGINE "
-"B<avant> d'essayer de l'initialiser, c.-à-d. avant d'appeler ENGINE_init(). "
-"L'autre classe de commande consiste en des réglages ou des opérations qui "
-"modifient certains comportements ou causent certaines opérations à avoir "
-"lieu, et ces commandes peuvent fonctionner avant ou après ENGINE_init(), ou "
-"dans certains cas avant et après. L'implémentation d'ENGINE doit fournir des "
-"indications de cela dans sa description des commandes de contrôle intégrées "
-"et/ou dans la documentation externe finale."
 
 #. type: textblock
 #: C/crypto/engine.pod:451
 msgid "I<Issuing control commands to an ENGINE>"
-msgstr "I<Envoyer des commandes de contrôle à un ENGINE>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:453
@@ -4141,16 +3157,6 @@
 "afterwards)  and set it as the default for everything except RAND and then "
 "return a boolean success or failure."
 msgstr ""
-"Illustrons cela grâce à un exemple ; une fonction pour laquelle l'appelant "
-"fourni le nom de l'ENGINE qu'il veut utiliser, une table de paires de chaînes "
-"de caractères à utiliser avant l'initialisation, et d'autres tables après "
-"l'initialisation. Notez que les paires de chaînes de caractères utilisées "
-"pour les commandes de contrôles consistent en un « nom » de commande suivit "
-"du « paramètre » de la commande — le paramètre pourrait être NULL dans "
-"certains cas mais le nom ne peut pas l'être. Cette fonction devrait "
-"initialiser l'ENGINE (en envoyant les « pré » commandes avant et les « post » "
-"commandes après) et le régler comme défaut pour tout sauf RAND, puis "
-"renvoyer un booléen pour un succès ou un échec."
 
 #. type: verbatim
 #: C/crypto/engine.pod:463
@@ -4176,8 +3182,7 @@
 "         ENGINE_free(e);\n"
 "         return 0;\n"
 "     }\n"
-"     /* ENGINE_init() returned a functional reference, so free the "
-"structural\n"
+"     /* ENGINE_init() returned a functional reference, so free the structural\n"
 "      * reference from ENGINE_by_id(). */\n"
 "     ENGINE_free(e);\n"
 "     while(post_num--) {\n"
@@ -4195,43 +3200,6 @@
 " }\n"
 "\n"
 msgstr ""
-" int generic_load_engine_fn(const char *engine_id,\n"
-"                            const char **pre_cmds, int pre_num,\n"
-"                            const char **post_cmds, int post_num)\n"
-" {\n"
-"     ENGINE *e = ENGINE_by_id(engine_id);\n"
-"     if(!e) return 0;\n"
-"     while(pre_num--) {\n"
-"         if(!ENGINE_ctrl_cmd_string(e, pre_cmds[0], pre_cmds[1], 0)) {\n"
-"             fprintf(stderr, \"Failed command (%s - %s:%s)\\n\", engine_id,\n"
-"                 pre_cmds[0], pre_cmds[1] ? pre_cmds[1] : \"(NULL)\");\n"
-"             ENGINE_free(e);\n"
-"             return 0;\n"
-"         }\n"
-"\t pre_cmds += 2;\n"
-"     }\n"
-"     if(!ENGINE_init(e)) {\n"
-"         fprintf(stderr, \"Failed initialisation\\n\");\n"
-"         ENGINE_free(e);\n"
-"         return 0;\n"
-"     }\n"
-"     /* ENGINE_init() a renvoyé une référence fonctionnelle, il faut donc "
-"libérer la référence structurelle de ENGINE_by_id(). */\n"
-"     ENGINE_free(e);\n"
-"     while(post_num--) {\n"
-"         if(!ENGINE_ctrl_cmd_string(e, post_cmds[0], post_cmds[1], 0)) {\n"
-"             fprintf(stderr, \"Failed command (%s - %s:%s)\\n\", engine_id,\n"
-"                 post_cmds[0], post_cmds[1] ? post_cmds[1] : \"(NULL)\");\n"
-"             ENGINE_finish(e);\n"
-"             return 0;\n"
-"         }\n"
-"\t post_cmds += 2;\n"
-"     }\n"
-"     ENGINE_set_default(e, ENGINE_METHOD_ALL & ~ENGINE_METHOD_RAND);\n"
-"     /* Succès */\n"
-"     return 1;\n"
-" }\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:500
@@ -4243,18 +3211,11 @@
 "success without doing anything. In this case we assume the user is only "
 "supplying commands specific to the given ENGINE so we set this to FALSE."
 msgstr ""
-"Notez que ENGINE_ctrl_cmd_string() accepte un argument booléen qui peut "
-"assouplir les sémantiques de la fonction — s'il est différent de 0 elle ne "
-"renverra qu'un échec si l'ENGINE prend en charge le nom de la commande mais a "
-"échoué lors de son exécution, si l'ENGINE ne prend pas en charge le nom de la "
-"commande elle renverra simplement succès sans rien faire. Dans ce cas on "
-"suppose que l'utilisateur apporte des commandes spécifiques à l'ENGINE donné, "
-"on règle donc cela à FALSE."
 
 #. type: textblock
 #: C/crypto/engine.pod:508
 msgid "I<Discovering supported control commands>"
-msgstr "I<Découverte de commandes de contrôle gérées>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:510
@@ -4269,16 +3230,6 @@
 "numbered from. Any command value lower than this symbol is considered a "
 "\"generic\" command is handled directly by the OpenSSL core routines."
 msgstr ""
-"Il est possible de découvrir les noms, id numériques, descriptions et "
-"paramètres d'entrée des commandes de contrôle prises en charge par un ENGINE au "
-"moment de l'exécution en utilisant une référence structurelle. Notez que "
-"certaines commandes de contrôle définies dans OpenSSL intercepteront et "
-"géreront ces appels au nom d'ENGINE, c.-à-d. le gestionnaire ctrl() d'ENGINE "
-"n'est pas utilisé pour les commandes de contrôle. openssl/engine.h définit un "
-"index, ENGINE_CMD_BASE, à partir duquel toutes les commandes de contrôle "
-"implémentées par ENGINE doivent être numérotées. Toute valeur de commande "
-"plus basse que ce symbole est considérée comme « générique » et est gérée "
-"directement par les routines noyau d'OpenSSL."
 
 #. type: textblock
 #: C/crypto/engine.pod:520
@@ -4286,9 +3237,6 @@
 "It is using these \"core\" control commands that one can discover the the "
 "control commands implemented by a given ENGINE, specifically the commands;"
 msgstr ""
-"C'est en utilisant ces contrôles « essentiels » que l'on peut découvrir les "
-"commandes de contrôle implémentées par un ENGINE donné, plus spécifiquement "
-"ces commandes ;"
 
 #. type: verbatim
 #: C/crypto/engine.pod:523
@@ -4305,16 +3253,6 @@
 " #define ENGINE_CTRL_GET_CMD_FLAGS\t\t18\n"
 "\n"
 msgstr ""
-" #define ENGINE_HAS_CTRL_FUNCTION\t\t10\n"
-" #define ENGINE_CTRL_GET_FIRST_CMD_TYPE\t\t11\n"
-" #define ENGINE_CTRL_GET_NEXT_CMD_TYPE\t\t12\n"
-" #define ENGINE_CTRL_GET_CMD_FROM_NAME\t\t13\n"
-" #define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD\t14\n"
-" #define ENGINE_CTRL_GET_NAME_FROM_CMD\t\t15\n"
-" #define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD\t16\n"
-" #define ENGINE_CTRL_GET_DESC_FROM_CMD\t\t17\n"
-" #define ENGINE_CTRL_GET_CMD_FLAGS\t\t18\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:533
@@ -4331,18 +3269,6 @@
 "\"discovery\" commands itself. If that flag is not set, then the OpenSSL "
 "framework code will work with the following rules;"
 msgstr ""
-"Alors que ces commandes sont traitées de façon automatique par le code du "
-"framework d'OpenSSL, elles utilisent diverses propriétés exposées par chaque "
-"ENGINE pour traiter ces requêtes. Un ENGINE a 3 propriétés qu'il expose qui "
-"peuvent affecter comment celles-ci se comportent ; il peut fournir un "
-"contrôleur ctrl() qui peut être spécifié ENGINE_FLAGS_MANUAL_CMD_CTRL dans "
-"les drapeaux de l'ENGINE, et il peut exposer une chaîne de contrôle de "
-"descriptions de commande. Si un ENGINE spécifie le drapeau "
-"ENGINE_FLAGS_MANUAL_CMD_CTRL, alors les commandes essentielles de contrôle "
-"seront simplement passées directement au gestionnaires ctrl() de l'ENGINE (et "
-"de ce fait, il doit en avoir un de fourni), c'est donc le rôle de l'ENGINE de "
-"répondre à ces commandes « découvertes ». Si un drapeau n'est pas déterminé, "
-"alors le code du framework d'OpenSSL fonctionnera avec les règles suivantes ;"
 
 #. type: verbatim
 #: C/crypto/engine.pod:544
@@ -4359,17 +3285,6 @@
 "     all other commands proceed processing ...\n"
 "\n"
 msgstr ""
-" si aucun gestionnaire ctrl() est fourni ;\n"
-"     ENGINE_HAS_CTRL_FUNCTION renvoie FALSE (zero),\n"
-"     toutes les autres commandes échouent.\n"
-" si un gestionnaire ctrl() a été fourni mais aucun tableau de commandes de "
-"contrôle n'a été fourni ;\n"
-"     ENGINE_HAS_CTRL_FUNCTION renvoie TRUE,\n"
-"     toutes les autres commandes échouent.\n"
-" si un gestionnaire ctrl() et un tableau de commandes ont été fournis ;\n"
-"     ENGINE_HAS_CTRL_FUNCTION renvoie TRUE,\n"
-"     toutes les autres commandes continuent leurs traitements ...\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:554
@@ -4387,19 +3302,6 @@
 "command name or description. ENGINE_CTRL_GET_FLAGS returns a bitwise-OR'd "
 "mask of the following possible values;"
 msgstr ""
-"Si la chaîne de commandes de contrôle d'ENGINE est vide alors toutes les "
-"autres commandes échoueront, sinon ENGINE_CTRL_GET_FIRST_CMD_TYPE renvoie "
-"l'identifiant de la première commande prise en charge par l'ENGINE, "
-"ENGINE_GET_NEXT_CMD_TYPE prend l'identifiant d'une commande prise en charge par "
-"l'ENGINE et renvoie le prochain identifiant de commande, ou échoue s'il n'y "
-"en a plus, ENGINE_CMD_FROM_NAME prend un nom sous forme de chaîne de "
-"caractères pour une commande et renvoie l'identifiant correspondant ou "
-"échoue si la commande correspondante n'existe pas. Les commandes restantes "
-"prennent un identifiant de commande et renvoie les propriétés de la "
-"commande correspondante. Toutes sauf ENGINE_CTRL_GET_FLAGS renvoient la "
-"longueur de la chaîne de caractères du nom de la commande ou de la "
-"description. ENGINE_CTRL_GET_FLAGS renvoie un masque OR bit à bit ayant les "
-"valeurs possibles suivantes ;"
 
 #. type: verbatim
 #: C/crypto/engine.pod:567
@@ -4411,11 +3313,6 @@
 " #define ENGINE_CMD_FLAG_INTERNAL\t\t(unsigned int)0x0008\n"
 "\n"
 msgstr ""
-" #define ENGINE_CMD_FLAG_NUMERIC\t\t(unsigned int)0x0001\n"
-" #define ENGINE_CMD_FLAG_STRING\t\t\t(unsigned int)0x0002\n"
-" #define ENGINE_CMD_FLAG_NO_INPUT\t\t(unsigned int)0x0004\n"
-" #define ENGINE_CMD_FLAG_INTERNAL\t\t(unsigned int)0x0008\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/engine.pod:572
@@ -4433,26 +3330,11 @@
 "implement \"FOO_GET_VENDOR_LOGO_GIF\" - and ENGINE could therefore decide "
 "whether or not to support this \"foo\"-specific extension)."
 msgstr ""
-"Si le drapeau ENGINE_CMD_FLAG_INTERNAL est défini, alors n'importe quels "
-"autres drapeaux sont purement informationnels pour l'appelant — ce drapeau "
-"empêchera la commande d'être exécutée par les fonctions haut niveau d'un "
-"ENGINE comme ENGINE_ctrl_cmd_string(). Les commandes « INTERNES » ne sont pas "
-"supposées être exposées à des configurations basées sur du texte par les "
-"applications, administrations, utilisateurs, etc. Celles-ci peuvent gérer "
-"des opérations arbitraires à l’aide de ENGINE_ctrl(), celles-ci incluent le passage "
-"de et vers les données des commandes de contrôle de n'importe quel type "
-"arbitraire. Ces commandes sont gérées dans le mécanisme de découverte "
-"pour simplement autoriser les applications à déterminer si un ENGINE gére "
-"certaines commandes spécifiques qu'il veut utiliser (ex : l'application "
-"« foo » veut faire une requête à différents ENGINE pour voir si ils "
-"implémentent "
-"« FOO_GET_VENDOR_LOGO_GIF », et ENGINE peut de ce fait décider s'il prend en charge "
-"ou non cette extension spécifique à « foo »)."
 
 #. type: =head2
 #: C/crypto/engine.pod:585
 msgid "Future developments"
-msgstr "Développements futurs"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/engine.pod:587
@@ -4465,15 +3347,6 @@
 "applications to explicitly use the \"dynamic\" ENGINE to bind to shared-"
 "library implementations."
 msgstr ""
-"L'API d'ENGINE et sa structure architecturale interne est en cours de "
-"révision. Il est prévu d'avoir de nouvelles modifications dans la version "
-"0.9.8 pour une prise en charge du chargement transparent d'ENGINE « dynamiques » "
-"(Implémentés comme bibliothèques partagées autonomes). Cela devrait autoriser "
-"l'implémentation ENGINE d'être fournie de façon indépendantes aux "
-"bibliothèques d'OpenSSL ou des applications basées sur OpenSSL, et "
-"retirera aussi toute exigence pour les applications d'utiliser explicitement "
-"l'ENGINE « dynamique » à se lier à des bibliothèques d'implémentations "
-"partagées."
 
 #. type: textblock
 #: C/crypto/engine.pod:597
@@ -4486,8 +3359,6 @@
 "HMAC, HMAC_Init, HMAC_Update, HMAC_Final, HMAC_cleanup - HMAC message "
 "authentication code"
 msgstr ""
-"HMAC, HMAC_Init, HMAC_Update, HMAC_Final, HMAC_cleanup - message "
-"d'authentification de message HMAC"
 
 #. type: verbatim
 #: C/crypto/hmac.pod:10
@@ -4508,10 +3379,6 @@
 "               unsigned char *md, unsigned int *md_len);\n"
 "\n"
 msgstr ""
-" unsigned char *HMAC(const EVP_MD *evp_md, const void *key,\n"
-"               int key_len, const unsigned char *d, int n,\n"
-"               unsigned char *md, unsigned int *md_len);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/hmac.pod:16
@@ -4535,13 +3402,6 @@
 " int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len);\n"
 "\n"
 msgstr ""
-" int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len,\n"
-"               const EVP_MD *md);\n"
-" int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int key_len,\n"
-"               \t   const EVP_MD *md, ENGINE *impl);\n"
-" int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, int len);\n"
-" int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/hmac.pod:25
@@ -4561,9 +3421,6 @@
 "HMAC is a MAC (message authentication code), i.e. a keyed hash function used "
 "for message authentication, which is based on a hash function."
 msgstr ""
-"HMAC est un MAC (code de message d'authentification), c.-à-d. une fonction de "
-"hachage à clé utilisée pour les messages d'authentification, qui est basé sur "
-"une fonction de hachage."
 
 #. type: textblock
 #: C/crypto/hmac.pod:34
@@ -4572,9 +3429,6 @@
 "using the hash function B<evp_md> and the key B<key> which is B<key_len> "
 "bytes long."
 msgstr ""
-"HMAC() calcule le code d'authentification du message faisant B<n> octets à B<d>"
-"en utilisant la fonction de hachage B<evp_md> et la clé B<key> qui a une "
-"longueur de B<key_len> octets."
 
 #. type: textblock
 #: C/crypto/hmac.pod:38
@@ -4584,15 +3438,11 @@
 "NULL, the digest is placed in a static array.  The size of the output is "
 "placed in B<md_len>, unless it is B<NULL>."
 msgstr ""
-"Elle place le résultat dans B<md> (qui doit avoir de l'espace pour la sortie "
-"de la fonction de hachage, qui n'est pas plus de B<EVP_MAX_MD_SIZE> octets). "
-"Si B<md> est NULL, le condensé est placé dans un tableau statique. La taille de "
-"la sortie est placée dans B<md_len>, sauf si elle est B<NULL>."
 
 #. type: textblock
 #: C/crypto/hmac.pod:43
 msgid "B<evp_md> can be EVP_sha1(), EVP_ripemd160() etc."
-msgstr "B<evp_md> peut être EVP_sha1(), EVP_ripemd160(), etc."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/hmac.pod:45
@@ -4600,8 +3450,6 @@
 "HMAC_CTX_init() initialises a B<HMAC_CTX> before first use. It must be "
 "called."
 msgstr ""
-"HMAC_CTX_init() initialise un B<HMAC_CTX> avant sa première utilisation. Elle "
-"doit être appelée."
 
 #. type: textblock
 #: C/crypto/hmac.pod:48
@@ -4610,9 +3458,6 @@
 "releases any associated resources. It must be called when an B<HMAC_CTX> is "
 "no longer required."
 msgstr ""
-"HMAC_CTX_cleanup() efface la clé et toutes autres données de B<HMAC_CTX> et "
-"libère toutes ressources associées. Elle doit être appelée quand  B<HMAC_CTX> "
-"n'est plus utilisée."
 
 #. type: textblock
 #: C/crypto/hmac.pod:52
@@ -4620,8 +3465,6 @@
 "HMAC_cleanup() is an alias for HMAC_CTX_cleanup() included for back "
 "compatibility with 0.9.6b, it is deprecated."
 msgstr ""
-"HMAC_cleanup() est un alias pour HMAC_CTX_cleanup() qui est incluse pour être "
-"compatible avec la version 0.9.6b, elle est obsolète."
 
 #. type: textblock
 #: C/crypto/hmac.pod:55 C/crypto/md5.pod:52 C/crypto/mdc2.pod:30
@@ -4640,10 +3483,6 @@
 "B<evp_md> and the key B<key> which is B<key_len> bytes long. It is "
 "deprecated and only included for backward compatibility with OpenSSL 0.9.6b."
 msgstr ""
-"HMAC_Init() initialise une structure B<HMAC_CTX> pour utiliser une fonction "
-"de hachage B<evp_md> et sa clé B<key> qui est de longueur B<key_len> octets. "
-"Elle est obsolète et est uniquement incluse pour une compatibilité avec "
-"OpenSSL 0.9.6b."
 
 #. type: textblock
 #: C/crypto/hmac.pod:63
@@ -4656,13 +3495,6 @@
 "switch to HMAC_Init_ex() in programs that expect it will cause them to stop "
 "working>."
 msgstr ""
-"HMAC_Init_ex() initialise ou réutilise une structure B<HMAC_CTX> pour "
-"utiliser la fonction B<evp_md> et la clé B<key>. Ils peuvent tous les "
-"deux être NULL, dans ce cas, celui existant sera réutilisé. HMAC_CTX_init() "
-"aurait dû être appelée avant la première utilisation d'un B<HMAC_CTX> dans "
-"cette fonction. B<N.B : HMAC_Init() avait un comportement indéfini dans les "
-"versions précédentes d'OpenSSL — l'échec de passage à HMAC_Init_ex() dans les "
-"programmes qui l'attendent les fera s'arrêter>."
 
 #. type: textblock
 #: C/crypto/hmac.pod:71
@@ -4670,8 +3502,6 @@
 "HMAC_Update() can be called repeatedly with chunks of the message to be "
 "authenticated (B<len> bytes at B<data>)."
 msgstr ""
-"HMAC_Update() peut être appelée de façon répétée avec des morceaux du message "
-"qui doit être authentifié (B<len> octets à B<data>)."
 
 #. type: textblock
 #: C/crypto/hmac.pod:74
@@ -4679,21 +3509,19 @@
 "HMAC_Final() places the message authentication code in B<md>, which must "
 "have space for the hash function output."
 msgstr ""
-"HMAC_Final() place le code du message d'authentification dans B<md>, qui "
-"doit avoir de l'espace pour la sortie de la fonction de hachage."
 
 #. type: textblock
 #: C/crypto/hmac.pod:79
+#, fuzzy
 #| msgid "PKCS12_parse() returns 1 for success and zero if an error occurred."
 msgid ""
 "HMAC() returns a pointer to the message authentication code or NULL if an "
 "error occurred."
-msgstr ""
-"HMAC() renvoie un pointeur vers le code d'authentification du message ou "
-"NULL si une erreur se produit."
+msgstr "B<PKCS12_parse>() renvoie 1 en cas de succès et zéro en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/hmac.pod:82
+#, fuzzy
 #| msgid ""
 #| "SHA1_Init(), SHA1_Update() and SHA1_Final() return 1 for success, 0 "
 #| "otherwise."
@@ -4701,14 +3529,15 @@
 "HMAC_Init_ex(), HMAC_Update() and HMAC_Final() return 1 for success or 0 if "
 "an error occurred."
 msgstr ""
-"HMAC_Init_ex(), HMAC_Update() and HMAC_Final() renvoient 1 en cas de succès, "
-"0 en cas d'échec."
+"SHA1_Init(), SHA1_Update() et SHA1_Final() renvoie 1 en cas de succès et 0 "
+"sinon."
 
 #. type: textblock
 #: C/crypto/hmac.pod:85
+#, fuzzy
 #| msgid "BN_CTX_init() and BN_CTX_free() have no return values."
 msgid "HMAC_CTX_init() and HMAC_CTX_cleanup() do not return values."
-msgstr "HMAC_CTX_init() et HMAC_CTX_cleanup() ne renvoient pas de valeurs."
+msgstr "BN_CTX_init() et BN_CTX_free() ne renvoient rien."
 
 #. type: textblock
 #: C/crypto/hmac.pod:89
@@ -4726,8 +3555,6 @@
 "HMAC(), HMAC_Init(), HMAC_Update(), HMAC_Final() and HMAC_cleanup()  are "
 "available since SSLeay 0.9.0."
 msgstr ""
-"HMAC_CTX_init(), HMAC_Init_ex() et HMAC_CTX_cleanup() sont disponibles depuis "
-"la version 0.9.7 d'OpenSSL."
 
 #. type: textblock
 #: C/crypto/hmac.pod:100
@@ -4735,11 +3562,10 @@
 "HMAC_CTX_init(), HMAC_Init_ex() and HMAC_CTX_cleanup() are available since "
 "OpenSSL 0.9.7."
 msgstr ""
-"HMAC_CTX_init(), HMAC_Init_ex() et HMAC_CTX_cleanup() sont disponibles depuis "
-"la version 0.9.7 d'OpenSSL."
 
 #. type: textblock
 #: C/crypto/hmac.pod:103
+#, fuzzy
 #| msgid ""
 #| "SHA1(), SHA1_Init(), SHA1_Update() and SHA1_Final() are available in all "
 #| "versions of SSLeay and OpenSSL."
@@ -4747,8 +3573,8 @@
 "HMAC_Init_ex(), HMAC_Update() and HMAC_Final() did not return values in "
 "versions of OpenSSL before 1.0.0."
 msgstr ""
-"HMAC_Init_ex(), HMAC_Update() et HMAC_Final() ne renvoyaient pas de valeurs "
-"dans les versions précédentes à OpenSSL 1.0.0."
+"SHA1(), SHA1_Init(), SHA1_Update() et SHA1_Final() sont disponibles dans "
+"toutes les versions de SSLeay et OpenSSL."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:5
@@ -4756,8 +3582,6 @@
 "lh_stats, lh_node_stats, lh_node_usage_stats, lh_stats_bio, "
 "lh_node_stats_bio, lh_node_usage_stats_bio - LHASH statistics"
 msgstr ""
-"lh_stats, lh_node_stats, lh_node_usage_stats, lh_stats_bio, "
-"lh_node_stats_bio, lh_node_usage_stats_bio - statistiques LHASH"
 
 #. type: verbatim
 #: C/crypto/lh_stats.pod:10 C/crypto/lhash.pod:9
@@ -4766,8 +3590,6 @@
 " #include <openssl/lhash.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/lhash.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lh_stats.pod:12
@@ -4778,10 +3600,6 @@
 " void lh_node_usage_stats(LHASH *table, FILE *out);\n"
 "\n"
 msgstr ""
-" void lh_stats(LHASH *table, FILE *out);\n"
-" void lh_node_stats(LHASH *table, FILE *out);\n"
-" void lh_node_usage_stats(LHASH *table, FILE *out);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lh_stats.pod:16
@@ -4792,10 +3610,6 @@
 " void lh_node_usage_stats_bio(LHASH *table, BIO *out);\n"
 "\n"
 msgstr ""
-" void lh_stats_bio(LHASH *table, BIO *out);\n"
-" void lh_node_stats_bio(LHASH *table, BIO *out);\n"
-" void lh_node_usage_stats_bio(LHASH *table, BIO *out);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:22
@@ -4805,11 +3619,6 @@
 "for the reasons of implementing what looked like a nice algorithm rather "
 "than for a particular software product."
 msgstr ""
-"La structure B<LHASH> enregistre des statistiques de la plupart des "
-"fonctionnalités qui permettent d'accéder à la table de hachage. Cela est un "
-"legs d'Eric Young quand il a écrit cette bibliothèque pour implémenter quelque "
-"chose qui ressemble à un joli algorithme plutôt qu'un produit pour une "
-"application particulière."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:27
@@ -4818,9 +3627,6 @@
 "entries are in it, and the number and result of calls to the routines in "
 "this library."
 msgstr ""
-"lh_stats() affiche les statistiques sur la taille de la table de hachage, "
-"combien d'entrées sont dedans, et les nombre et résultat d'appels aux "
-"routines de cette bibliothèque."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:31
@@ -4828,8 +3634,6 @@
 "lh_node_stats() prints the number of entries for each 'bucket' in the hash "
 "table."
 msgstr ""
-"lh_node_stats() affiche le nombre d'entrées pour chaque « compartiment » dans la "
-"table de hachage."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:34
@@ -4842,14 +3646,6 @@
 "need to find an item in the hash table, while the 'load' is the average "
 "number that will be done to record a miss."
 msgstr ""
-"lh_node_usage_stats() affiche un court résumé de l'état de la table de "
-"hachage. Elle imprime le « chargement » et l'état de « chargement actuel ». "
-"Le chargement est la moyenne d'objets par « compartiment » dans la table de hachage. "
-"Le « chargement actuel » est la moyenne d'objets par « compartiment » mais uniquement "
-"pour ceux qui ont des objets. Le « chargement actuel » est donc la moyenne du "
-"nombre de recherches nécessaires pour trouver un objet dans la table de "
-"hachage, alors que « chargement » est la moyenne qui sera faite pour "
-"enregistrer un manque."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:43
@@ -4857,13 +3653,11 @@
 "lh_stats_bio(), lh_node_stats_bio() and lh_node_usage_stats_bio()  are the "
 "same as the above, except that the output goes to a B<BIO>."
 msgstr ""
-"lh_stats_bio(), lh_node_stats_bio() et lh_node_usage_stats_bio() sont les "
-"mêmes que précédemment, sauf que la sortie va dans un B<BIO>."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:48
 msgid "These functions do not return values."
-msgstr "Ces fonctions ne renvoient pas de valeurs."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:52
@@ -4874,12 +3668,11 @@
 #: C/crypto/lh_stats.pod:56
 msgid "These functions are available in all versions of SSLeay and OpenSSL."
 msgstr ""
-"Ces fonctions sont disponibles dans toutes les versions de SSLeay et OpenSSL."
 
 #. type: textblock
 #: C/crypto/lh_stats.pod:58 C/crypto/lhash.pod:292
 msgid "This manpage is derived from the SSLeay documentation."
-msgstr "Cette page man est dérivée de la documentation de SSLeay"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lhash.pod:5
@@ -4887,8 +3680,6 @@
 "lh_new, lh_free, lh_insert, lh_delete, lh_retrieve, lh_doall, lh_doall_arg, "
 "lh_error - dynamic hash table"
 msgstr ""
-"lh_new, lh_free, lh_insert, lh_delete, lh_retrieve, lh_doall, lh_doall_arg, "
-"lh_error - table de hachage dynamique"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:11
@@ -4897,8 +3688,6 @@
 " DECLARE_LHASH_OF(<type>);\n"
 "\n"
 msgstr ""
-" DECLARE_LHASH_OF(<type>);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:13
@@ -4908,9 +3697,6 @@
 " void lh_<type>_free(LHASH_OF(<type> *table);\n"
 "\n"
 msgstr ""
-" LHASH *lh_<type>_new();\n"
-" void lh_<type>_free(LHASH_OF(<type> *table);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:16
@@ -4921,26 +3707,16 @@
 " <type> *lh_retrieve(LHASH_OF<type> *table, <type> *data);\n"
 "\n"
 msgstr ""
-" <type> *lh_<type>_insert(LHASH_OF(<type> *table, <type> *data);\n"
-" <type> *lh_<type>_delete(LHASH_OF(<type> *table, <type> *data);\n"
-" <type> *lh_retrieve(LHASH_OF<type> *table, <type> *data);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:20
 #, no-wrap
 msgid ""
 " void lh_<type>_doall(LHASH_OF(<type> *table, LHASH_DOALL_FN_TYPE func);\n"
-" void lh_<type>_doall_arg(LHASH_OF(<type> *table, LHASH_DOALL_ARG_FN_TYPE "
-"func,\n"
+" void lh_<type>_doall_arg(LHASH_OF(<type> *table, LHASH_DOALL_ARG_FN_TYPE func,\n"
 "          <type2>, <type2> *arg);\n"
 "\n"
 msgstr ""
-" void lh_<type>_doall(LHASH_OF(<type> *table, LHASH_DOALL_FN_TYPE func);\n"
-" void lh_<type>_doall_arg(LHASH_OF(<type> *table, LHASH_DOALL_ARG_FN_TYPE "
-"func,\n"
-"          <type2>, <type2> *arg);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:24
@@ -4949,8 +3725,6 @@
 " int lh_<type>_error(LHASH_OF(<type> *table);\n"
 "\n"
 msgstr ""
-" int lh_<type>_error(LHASH_OF(<type> *table);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:26
@@ -4962,11 +3736,6 @@
 " typedef void (*LHASH_DOALL_ARG_FN_TYPE)(const void *, const void *);\n"
 "\n"
 msgstr ""
-" typedef int (*LHASH_COMP_FN_TYPE)(const void *, const void *);\n"
-" typedef unsigned long (*LHASH_HASH_FN_TYPE)(const void *);\n"
-" typedef void (*LHASH_DOALL_FN_TYPE)(const void *);\n"
-" typedef void (*LHASH_DOALL_ARG_FN_TYPE)(const void *, const void *);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/lhash.pod:33
@@ -4975,9 +3744,6 @@
 "entries can be arbitrary structures. Usually they consist of key and value "
 "fields."
 msgstr ""
-"Cette bibliothèque implémente des tables de hachage qui ont une vérification "
-"de type. Les entrées de la table de hachage peuvent êtres des structures "
-"arbitraires. En général elles consistent en des champs de clé et de valeur."
 
 #. type: textblock
 #: C/crypto/lhash.pod:37
@@ -4998,23 +3764,6 @@
 "written by the application author.  These macros, as well as those used for "
 "the \"doall\" callbacks, are defined as;"
 msgstr ""
-"h_<type>_new() crée une nouvelle structure B<LHASH_OF(<type>)> pour stocker "
-"des données arbitraires et offre les rétroactions « hachage » et « comparer » "
-"pour organiser les entrées de la table. La rétroaction B<hash> prend un "
-"pointeur vers l'entrée d'une table comme argument et renvoie un unsigned "
-"long haché comme champ clé. La valeur hachée est normalement tronquée à une "
-"puissance de 2, faites donc attention à ce que la fonction de hachage "
-"renvoie des bits de poids faibles mélangés. L'appel B<compare> prends deux "
-"arguments (deux pointeurs vers deux entrées de la table de hachage), et "
-"renvoie 0 si leurs clés sont différentes, une valeur différente de 0 sinon. "
-"Si la table de hachage contient des valeurs d'un type particulier et que B<"
-"hash> et B<compare> hache/compare ces types, alors les macros B<"
-"DECLARE_LHASH_HASH_FN> et B<IMPLEMENT_LHASH_COMP_FN> peuvent être utilisées "
-"pour créer des emballages de rétroaction d'un prototype requis par lh_<type>"
-"_new(). Celles-ci offrent un typage par variable avant d'appeler une "
-"rétroaction spécifique à un type écrite par l'auteur de l'application. Ces "
-"macros, ainsi que celles utilisées pour les appels « doall », sont définies "
-"comme suit ;"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:55
@@ -5029,14 +3778,6 @@
 " #define LHASH_HASH_FN(name) name##_LHASH_HASH\n"
 "\n"
 msgstr ""
-" #define DECLARE_LHASH_HASH_FN(name, o_type) \\\n"
-"\t unsigned long name##_LHASH_HASH(const void *);\n"
-" #define IMPLEMENT_LHASH_HASH_FN(name, o_type) \\\n"
-"\t unsigned long name##_LHASH_HASH(const void *arg) { \\\n"
-"\t\t const o_type *a = arg; \\\n"
-"\t\t return name##_hash(a); }\n"
-" #define LHASH_HASH_FN(name) name##_LHASH_HASH\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:63
@@ -5052,15 +3793,6 @@
 " #define LHASH_COMP_FN(name) name##_LHASH_COMP\n"
 "\n"
 msgstr ""
-" #define DECLARE_LHASH_COMP_FN(name, o_type) \\\n"
-"\t int name##_LHASH_COMP(const void *, const void *);\n"
-" #define IMPLEMENT_LHASH_COMP_FN(name, o_type) \\\n"
-"\t int name##_LHASH_COMP(const void *arg1, const void *arg2) { \\\n"
-"\t\t const o_type *a = arg1;\t\t    \\\n"
-"\t\t const o_type *b = arg2; \\\n"
-"\t\t return name##_cmp(a,b); }\n"
-" #define LHASH_COMP_FN(name) name##_LHASH_COMP\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:72
@@ -5075,14 +3807,6 @@
 " #define LHASH_DOALL_FN(name) name##_LHASH_DOALL\n"
 "\n"
 msgstr ""
-" #define DECLARE_LHASH_DOALL_FN(name, o_type) \\\n"
-"\t void name##_LHASH_DOALL(void *);\n"
-" #define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \\\n"
-"\t void name##_LHASH_DOALL(void *arg) { \\\n"
-"\t\t o_type *a = arg; \\\n"
-"\t\t name##_doall(a); }\n"
-" #define LHASH_DOALL_FN(name) name##_LHASH_DOALL\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:80
@@ -5098,15 +3822,6 @@
 " #define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG\n"
 "\n"
 msgstr ""
-" #define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \\\n"
-"\t void name##_LHASH_DOALL_ARG(void *, void *);\n"
-" #define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \\\n"
-"\t void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \\\n"
-"\t\t o_type *a = arg1; \\\n"
-"\t\t a_type *b = arg2; \\\n"
-"\t\t name##_doall_arg(a, b); }\n"
-" #define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:89
@@ -5116,49 +3831,27 @@
 " could be defined as follows;\n"
 "\n"
 msgstr ""
-" Un exemple de table de hachage qui stocke (des pointeurs vers) des structures "
-"du type « STUFF » pourrait être défini comme suit ;\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:92
-#, no-wrap
-msgid ""
-" /* Calculates the hash value of 'tohash' (implemented elsewhere) */\n"
-" unsigned long STUFF_hash(const STUFF *tohash);\n"
-" /* Orders 'arg1' and 'arg2' (implemented elsewhere) */\n"
-" int stuff_cmp(const STUFF *arg1, const STUFF *arg2);\n"
-" /* Create the type-safe wrapper functions for use in the LHASH internals */\n"
-" static IMPLEMENT_LHASH_HASH_FN(stuff, STUFF);\n"
-" static IMPLEMENT_LHASH_COMP_FN(stuff, STUFF);\n"
-" /* ... */\n"
-" int main(int argc, char *argv[]) {\n"
-"         /* Create the new hash table using the hash/compare wrappers */\n"
-"         LHASH_OF(STUFF) *hashtable = lh_STUFF_new(LHASH_HASH_FN(STUFF_hash),"
-"\n"
-"                                   LHASH_COMP_FN(STUFF_cmp));\n"
-"\t /* ... */\n"
-" }\n"
-"\n"
-msgstr ""
-" /* Calcule la valeur hachée de « tohash » (implémenté ailleurs) */\n"
+#, no-wrap
+msgid ""
+" /* Calculates the hash value of 'tohash' (implemented elsewhere) */\n"
 " unsigned long STUFF_hash(const STUFF *tohash);\n"
-" /* Ordonnes « arg1 » et « arg2 » (implémenté ailleurs) */\n"
+" /* Orders 'arg1' and 'arg2' (implemented elsewhere) */\n"
 " int stuff_cmp(const STUFF *arg1, const STUFF *arg2);\n"
-" /* Crée un emballage de fonction ayant un type sûr pour utilisation interne "
-"dans LHASH */\n"
+" /* Create the type-safe wrapper functions for use in the LHASH internals */\n"
 " static IMPLEMENT_LHASH_HASH_FN(stuff, STUFF);\n"
 " static IMPLEMENT_LHASH_COMP_FN(stuff, STUFF);\n"
 " /* ... */\n"
 " int main(int argc, char *argv[]) {\n"
-"         /* Crée une nouvelle table de hachage en utilisant les emballages de "
-"hachage/comparaison */\n"
-"         LHASH_OF(STUFF) *hashtable = lh_STUFF_new(LHASH_HASH_FN(STUFF_hash),"
-"\n"
+"         /* Create the new hash table using the hash/compare wrappers */\n"
+"         LHASH_OF(STUFF) *hashtable = lh_STUFF_new(LHASH_HASH_FN(STUFF_hash),\n"
 "                                   LHASH_COMP_FN(STUFF_cmp));\n"
 "\t /* ... */\n"
 " }\n"
 "\n"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lhash.pod:107
@@ -5167,10 +3860,6 @@
 "hash table entries will not be freed; consider using lh_<type>_doall() to "
 "deallocate any remaining entries in the hash table (see below)."
 msgstr ""
-"lh_<type>_free() libère la structure B<LHASH_OF(<type>)> de B<table>. Les "
-"entrées de la table de hachage allouées ne seront pas libérées ; pensez à "
-"utiliser lh_<type>_doall() pour désallouer les entrées restantes dans la "
-"table de hachage (voir ci-dessous)."
 
 #. type: textblock
 #: C/crypto/lhash.pod:112
@@ -5180,15 +3869,11 @@
 "replaced. Note that lh_<type>_insert() stores pointers, the data are not "
 "copied."
 msgstr ""
-"lh_<type>_insert() insère la structure pointée par B<data> dans B<table>. "
-"S'il y a déjà une entrée avec la même clé, l'ancienne valeur est remplacée. "
-"Notez que lh_<type>_insert() stocke le pointeur, les données ne sont pas "
-"copiées."
 
 #. type: textblock
 #: C/crypto/lhash.pod:117
 msgid "lh_<type>_delete() deletes an entry from B<table>."
-msgstr "lh_<type>_delete() supprime une entrée de B<table>."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lhash.pod:119
@@ -5197,9 +3882,6 @@
 "structure with the key field(s) set; the function will return a pointer to a "
 "fully populated structure."
 msgstr ""
-"lh_<type>_retrieve() cherche une entée dans B<table>. Normalement, B<data> "
-"est une structure avec de(s) champ(s) clé(s) initialisés ; la fonction "
-"renverra un pointeur vers une structure entièrement peuplée. "
 
 #. type: textblock
 #: C/crypto/lhash.pod:123
@@ -5213,15 +3895,6 @@
 "callback is used to cleanup resources for items in the hash table prior to "
 "the hashtable itself being deallocated:"
 msgstr ""
-"lh_<type>_doall() fera, pour toutes les entrées de la table de hachage, appel "
-"à B<func> avec en paramètre l'objet contenant les données. Pour lh_<type>"
-"_doall() et lh_<type>_doall_arg(), le forçage de type du pointeur doit être "
-"évité dans les rétroactions (voir B<NOTE>) —  au lieu de cela il faut utiliser "
-"les macros de déclaration ou implémentation pour créer des emballages avec un "
-"type vérifié qui typent les variables avant d'appeler des rétroactions "
-"spécifiques aux rétroactions. Un exemple de cela est illustré ici avec une "
-"rétroaction qui est utilisée pour nettoyer les ressources pour les objets "
-"contenus dans la table de hachage avant que la table elle même soit désallouée."
 
 #. type: verbatim
 #: C/crypto/lhash.pod:133
@@ -5238,19 +3911,6 @@
 " lh_STUFF_free(hashtable);\n"
 "\n"
 msgstr ""
-" /* Nettoie les resources qui appartiennent à « a » (ceci est implémenté "
-"ailleurs) */\n"
-" void STUFF_cleanup_doall(STUFF *a);\n"
-" /* implémentation d'un prototype compatible d'emballage pour "
-"\"STUFF_cleanup » */\n"
-" IMPLEMENT_LHASH_DOALL_FN(STUFF_cleanup, STUFF)\n"
-"         /* ... puis plus tard dans le code ... */\n"
-" /* pour lancer « STUFF_cleanup » sur toutes les entrées dans la table de "
-"hachage ... */\n"
-" lh_STUFF_doall(hashtable, LHASH_DOALL_FN(STUFF_cleanup));\n"
-" /* Puis le hachage de la table peut être désalloué */\n"
-" lh_STUFF_free(hashtable);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/lhash.pod:143
@@ -5263,14 +3923,6 @@
 "table ever decreasing in size).  The best solution is probably to avoid "
 "deleting items from the hash table inside a \"doall\" callback!"
 msgstr ""
-"Quand vous faites cela, faites attention si vous supprimez des entrées dans "
-"la table de hachage dans vos retours de fonction : la table peut rétrécir, "
-"ce qui fera changer l'objet, sur lequel vous travaillez en ce moment, de "
-"place dans la table de hachage — cela peut causer un saut de certaines "
-"entrées pendant l'itération. La deuxième meilleure solution est de régler "
-"hash-E<gt>down_load=0 avant de commencer (ce qui empêchera la table de "
-"hachage de se raccourcir). La meilleure solution serait d'éviter de supprimer "
-"des objets de la table de hachage dans un retour « doall »."
 
 #. type: textblock
 #: C/crypto/lhash.pod:152
@@ -5285,16 +3937,6 @@
 "An example of this is demonstrated here (printing all hash table entries to "
 "a BIO that is provided by the caller):"
 msgstr ""
-"lh_<type>_doall_arg() est identique à lh_<type>_doall() sauf que B<func> sera "
-"appelé avec B<arg> comme second argument et B<func> devrait être du type B<"
-"LHASH_DOALL_ARG_FN_TYPE> (un prototype de rétroaction qui est passé à la "
-"table d'entrée comme un argument supplémentaire). Pour lh_doall(), il est "
-"possible de choisir de déclarer une rétroaction personnelle avec un prototype "
-"correspondant aux types présents et déclarer ou implémenter des macros pour "
-"créer des emballages qui forcent le type des variables avant d'appeler vos "
-"rétroactions qui sont spécifiques à un type. Un exemple de cela est expliqué "
-"ici (affichage de toutes les entrées de la table de hachage vers un BIO qui "
-"est fourni par l'appelant) :"
 
 #. type: verbatim
 #: C/crypto/lhash.pod:163
@@ -5310,17 +3952,6 @@
 "                    logging_bio);\n"
 " \n"
 msgstr ""
-" /* Imprime l'objet « a » dans « output bit » (cela est implémenté ailleurs) "
-"*/\n"
-" void STUFF_print_doall_arg(const STUFF *a, BIO *output_bio);\n"
-" /* implémentation d'un prototype compatible d'emballage pour « STUFF_print » "
-"*/\n"
-" static IMPLEMENT_LHASH_DOALL_ARG_FN(STUFF, const STUFF, BIO)\n"
-"         /* ... puis plus tard dans le code ... */\n"
-" /* Imprimer toute la table de hachage dans un BIO particulier */\n"
-" lh_STUFF_doall_arg(hashtable, LHASH_DOALL_ARG_FN(STUFF_print), BIO,\n"
-"                    logging_bio);\n"
-" \n"
 
 #. type: textblock
 #: C/crypto/lhash.pod:172
@@ -5328,8 +3959,6 @@
 "lh_<type>_error() can be used to determine if an error occurred in the last "
 "operation. lh_<type>_error() is a macro."
 msgstr ""
-"lh_<type>_error() peut être utilisée pour déterminer si une erreur s'est "
-"produite dans la dernière opération. lh_<type>_error() est une macro."
 
 #. type: textblock
 #: C/crypto/lhash.pod:177
@@ -5337,8 +3966,6 @@
 "lh_<type>_new() returns B<NULL> on error, otherwise a pointer to the new "
 "B<LHASH> structure."
 msgstr ""
-"lh_<type>_new() renvoie B<NULL> en cas d'erreur, sinon elle renvoie un "
-"pointeur vers la nouvelle structure B<LHASH>."
 
 #. type: textblock
 #: C/crypto/lhash.pod:180
@@ -5346,9 +3973,6 @@
 "When a hash table entry is replaced, lh_<type>_insert() returns the value "
 "being replaced. B<NULL> is returned on normal operation and on error."
 msgstr ""
-"Quand une entrée d'une table de hachage est remplacée, lh_<type>_insert() "
-"renvoie la valeur remplacée. B<NULL> est renvoyée lors d'une opération "
-"normale et en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/lhash.pod:183
@@ -5356,8 +3980,6 @@
 "lh_<type>_delete() returns the entry being deleted.  B<NULL> is returned if "
 "there is no such value in the hash table."
 msgstr ""
-"lh_<type>_delete() renvoie l’entrée qui est supprimée. B<NULL> est "
-"renvoyée si cette valeur n'existe pas dans la table de hachage."
 
 #. type: textblock
 #: C/crypto/lhash.pod:186
@@ -5365,8 +3987,6 @@
 "lh_<type>_retrieve() returns the hash table entry if it has been found, "
 "B<NULL> otherwise."
 msgstr ""
-"lh_<type>_retrieve() renvoie l'entrée de la table de hachage si elle a été "
-"trouvée, B<NULL> sinon."
 
 #. type: textblock
 #: C/crypto/lhash.pod:189
@@ -5374,8 +3994,6 @@
 "lh_<type>_error() returns 1 if an error occurred in the last operation, 0 "
 "otherwise."
 msgstr ""
-"lh_<type>_error() renvoie 1 si une erreur s'est produite dans la dernière "
-"opération, 0 sinon."
 
 #. type: textblock
 #: C/crypto/lhash.pod:192
@@ -5383,8 +4001,6 @@
 "lh_<type>_free(), lh_<type>_doall() and lh_<type>_doall_arg() return no "
 "values."
 msgstr ""
-"lh_<type>_free(), lh_<type>_doall() et lh_<type>_doall_arg() ne renvoient "
-"pas de valeurs."
 
 #. type: textblock
 #: C/crypto/lhash.pod:196
@@ -5395,12 +4011,6 @@
 "the window of opportunity for stack corruption and other hard-to-find bugs.  "
 "It also, apparently, violates ANSI-C."
 msgstr ""
-"Les différentes macros et les types retour de fonction LHASH existent pour "
-"faire en sorte de rendre la vérification de type du code possible sans forcer "
-"une conversion de type — un mal qui rend l'application du code plus "
-"difficile à vérifier et qui offre une fenêtre vers les corruptions de pile et "
-"d'autres bogues difficiles à trouver. Cela, apparemment, viole la convention "
-"ANSI-C."
 
 #. type: textblock
 #: C/crypto/lhash.pod:203
@@ -5415,15 +4025,6 @@
 "they can choose whether they too should be treating all such parameters as "
 "constant."
 msgstr ""
-"Le code LHASH voit les entrées de la table comme des données constantes. De "
-"ce fait, il représente les objets insérés avec lh_insert() avec un type de "
-"pointeur « const void * ». C'est pour cela que les rétroactions comme celles "
-"utilisées par lh_doall() et lh_doall_arg() déclarent leurs prototypes avec "
-"« const », même pour les paramètres qui renvoient les pointeurs vers les "
-"objets de table — par esprit de cohérence, les données fournies par "
-"l'utilisateur sont toujours considérées « const » pour le code de LHASH. "
-"Mais, comme les appelants fournissent eux-mêmes ces pointeurs, ils peuvent "
-"choisir si tous les paramètres doivent être traités comme constants."
 
 #. type: textblock
 #: C/crypto/lhash.pod:213
@@ -5439,17 +4040,6 @@
 "the raw callbacks themselves) or use the macros to declare/implement the "
 "wrapper functions without \"const\" types."
 msgstr ""
-"Comme exemple, une table de hachage peut être maintenue par du code qui, pour "
-"des raisons d'encapsulation, a uniquement un accès « const » aux données qui "
-"sont indexées dans la table de hachage (c.-à-d., elle est renvoyée comme "
-"« const » par dans une autre partie du code) — dans ce cas les prototypes "
-"LHASH sont corrects tels quels. Inversement, si l'appelant est responsable "
-"de la durée de vie des données en question, alors il souhaitera "
-"probablement faire des modifications des objets de table, envoyés dans "
-"lh_doall() ou lh_doall_arg() de façon rétroactive (voir l'exemple "
-"« STUFF_cleanup » ci-dessus). Si c'est le cas, l'appelant peut soit forcer le "
-"type (s'il fourni les rétroactions elles-mêmes) ou utiliser les macros pour "
-"déclarer ou implémenter les emballages des fonctions sans les types « const »."
 
 #. type: textblock
 #: C/crypto/lhash.pod:225
@@ -5462,28 +4052,21 @@
 "IMPLEMENT_LHASH_DOALL_[ARG_]_FN macros that provide types without any \"const"
 "\" qualifiers."
 msgstr ""
-"Les appelants qui ont seulement un accès vers des données « const » dans "
-"leurs tables d'indexation, mais qui déclarent des retours sans types "
-"constants (ou forcent la suppression de type), créent de ce fait leurs "
-"propres risques ou bogues sans y être encouragés par l'API. Sur une note correspondante, les "
-"personnes vérifiant le code doivent porter une attention toute particulière "
-"à une quelconque instance des macros DECLARE/IMPLEMENT_LHASH_DOALL_[ARG_]_FN "
-"qui fournissent un type sans qualificatif « const »."
 
 #. type: textblock
 #: C/crypto/lhash.pod:235
 msgid "lh_<type>_insert() returns B<NULL> both for success and error."
-msgstr "lh_<type>_insert() renvoie B<NULL> pour un succès ou un échec."
+msgstr ""
 
 #. type: =head1
 #: C/crypto/lhash.pod:237
 msgid "INTERNALS"
-msgstr "FONCTIONNEMENT INTERNE"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lhash.pod:239
 msgid "The following description is based on the SSLeay documentation:"
-msgstr "La description suivante est basée sur la documentation de SSLeay :"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/lhash.pod:241
@@ -5498,16 +4081,6 @@
 "but there will never be a sudden large cost due to redistributing all the "
 "'buckets'."
 msgstr ""
-"La bibliothèque B<lhash> implémente une table de hachage décrite dans I<"
-"Communications of the ACM> en 1991. Ce qui rend cette table de hachage "
-"différente est que lors du remplissage de cette table de hachage, sa taille "
-"augmente (ou décroît) grâce à OPENSSL_realloc(). Quand un redimensionnement "
-"est terminé, au lieu d'avoir une redistribution sur deux fois plus de "
-"« compartiments », un compartiment est découpé. De ce fait lorsqu'une « expansion » est "
-"faite, le coût de redistribution de certaines valeurs reste minimal. Les "
-"insertions suivantes auront pour effet de faire des redistributions sur un "
-"seul « compartiment » mais il n'y aura jamais de coût élevé à cause d'une "
-"redistribution sur tous les « compartiments »."
 
 #. type: textblock
 #: C/crypto/lhash.pod:251
@@ -5523,17 +4096,6 @@
 "B<down_load> variables.  The 'load' is kept in a form which is multiplied by "
 "256.  So hash-E<gt>up_load=8*256; will cause a load of 8 to be set."
 msgstr ""
-"L'état d'une table de hachage en particulier est gardé dans une structure B<"
-"LHASH>. La décision d'agrandir ou de rapetisser la taille de la table de "
-"hachage est faite selon le « chargement » de cette table de hachage. Le "
-"chargement est le nombre d'objets divisé par la taille de la table de "
-"hachage. Les valeurs par défaut sont les suivantes. Si (hash->up_load E<lt> "
-"load) =E<gt>, agrandir. Si (hash-E<gt>down_load E<gt> load) =E<gt>, rapetisser. "
-"La valeur par défaut de B<up_load> est 1 et la valeur par défaut de B<"
-"down_load> est 2. Ces nombres peuvent être modifiés par l'application en "
-"jouant sur la valeur des variables B<up_load> et B<down_load>. La « charge » "
-"est gardée sous une forme qui est multipliée par 256. Donc hash-E<gt>"
-"up_load=8*256; mettra une charge de 8."
 
 #. type: textblock
 #: C/crypto/lhash.pod:263
@@ -5549,23 +4111,11 @@
 "searched with 10 B<unsigned long> compares and 10 linked list traverses.  "
 "This will be much less expensive that 10 calls to your compare function."
 msgstr ""
-"Si les performances vous intéressent, le champ à regarder est num_comp_calls. "
-"La bibliothèque de hachage garde en mémoire toutes la valeurs de hachage pour "
-"chaque objet, donc quand une recherche est terminée, les « hachages » sont "
-"comparés, s'il y a une correspondance, alors une comparaison entière est "
-"faite, et hash-E<gt>num_comp_calls est incrémenté. Si num_comp_calls n'est "
-"pas égal à num_delete plus num_retrieve, cela veux dire que les fonctions de "
-"hachage génèrent des hachages identiques pour des valeurs différentes. Il est "
-"probablement préférable de changer vos fonctions de hachage si c'est le cas "
-"car si votre table de hachage a 10 objets dans un « compartiment », il peut être "
-"recherché avec 10 comparaisons de B<unsigned long> et des traversées de 10 "
-"listes chaînées. Le coût sera bien moins élevé que 10 appels à la fonction de "
-"comparaison."
 
 #. type: textblock
 #: C/crypto/lhash.pod:275
 msgid "lh_strhash() is a demo string hashing function:"
-msgstr "lh_strhash() est un exemple de fonction de hachage de chaîne."
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/lhash.pod:277
@@ -5574,8 +4124,6 @@
 " unsigned long lh_strhash(const char *c);\n"
 "\n"
 msgstr ""
-" unsigned long lh_strhash(const char *c);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/lhash.pod:279
@@ -5584,9 +4132,6 @@
 "routine would not normally be passed to lh_<type>_new(), rather it would be "
 "used in the function passed to lh_<type>_new()."
 msgstr ""
-"Puisque les routines B<LHASH> sont normalement passées comme structure, cette "
-"routine ne serait normalement pas passée à lh_<type>_new(), au lieu de cela "
-"elle devrait être utilisée dans la fonction passée à lh_<type>_new(),"
 
 #. type: textblock
 #: C/crypto/lhash.pod:285
@@ -5599,8 +4144,6 @@
 "The B<lhash> library is available in all versions of SSLeay and OpenSSL.  "
 "lh_error() was added in SSLeay 0.9.1b."
 msgstr ""
-"La bibliothèque B<lhash> est disponible dans toutes les version de SSLeay et "
-"OpenSSL. lh_error() a été ajoutée dans SSLeay 0.9.1b."
 
 #. type: textblock
 #: C/crypto/lhash.pod:294
@@ -5610,10 +4153,6 @@
 "LHASH_COMP_FN_TYPE, LHASH_HASH_FN_TYPE, LHASH_DOALL_FN_TYPE and "
 "LHASH_DOALL_ARG_FN_TYPE became available."
 msgstr ""
-"Dans OpenSSL 0.9.7, toutes les fonctions de hachage qui étaient passées "
-"comme pointeurs de fonction ont étés modifiées pour une meilleure sécurité "
-"de type, et les types de fonction LHASH_COMP_FN_TYPE, LHASH_HASH_FN_TYPE, "
-"LHASH_DOALL_FN_TYPE et LHASH_DOALL_ARG_FN_TYPE sont devenus disponibles."
 
 #. type: textblock
 #: C/crypto/lhash.pod:299
@@ -5621,8 +4160,6 @@
 "In OpenSSL 1.0.0, the lhash interface was revamped for even better type "
 "checking."
 msgstr ""
-"Dans OpenSSL 1.0.0 l'interface lhash a été remaniée pour une meilleure "
-"vérification de types."
 
 #. type: textblock
 #: C/crypto/md5.pod:5
@@ -5765,8 +4302,8 @@
 "output). If B<md> is NULL, the digest is placed in a static array."
 msgstr ""
 "MD2(), MD4() et MD5() calculent le condensé MD2, MD4 et MD5 des B<n> octets "
-"de B<d> et le place dans B<md> (qui doit avoir de la place pour "
-"MD2_DIGEST_LENGTH == MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH == 16 octets de "
+"de B<d> et le placent dans B<md> (qui doit avoir de la place pour "
+"MD2_DIGEST_LENGTH == MD4_DIGEST_LENGTH == MD5_DIGEST_LENGTH == 16 octets de "
 "sortie). Si B<md> est NULL, le condensé est placé dans un tableau statique."
 
 #. type: textblock
@@ -5790,7 +4327,7 @@
 "MD2_DIGEST_LENGTH == 16 bytes of output, and erases the B<MD2_CTX>."
 msgstr ""
 "MD2_Final() place le condensé du message dans B<md>, qui doit avoir de la "
-"place pour MD2_DIGEST_LENGTH == 16 octets de données, et efface B<MD2_CTX>."
+"place pour MD2_DIGEST_LENGTH == 16 octets de données, et efface B<MD2_CTX>."
 
 #. type: textblock
 #: C/crypto/md5.pod:63
@@ -5809,7 +4346,7 @@
 "EVP_DigestInit(3)> etc. instead of calling the hash functions directly."
 msgstr ""
 "Les applications devraient utiliser les fonctions de haut niveau "
-"L<EVP_DigestInit(3)|EVP_DigestInit(3)>, etc. plutôt que d'appeler les "
+"L<EVP_DigestInit(3)|EVP_DigestInit(3)>, etc. plutôt que d'appeler les "
 "fonctions de hachage directement."
 
 #. type: textblock
@@ -5869,7 +4406,7 @@
 "MD4(), MD4_Init(), and MD4_Update() are available in OpenSSL 0.9.6 and above."
 msgstr ""
 "MD4(), MD4_Init() et MD4_Update() sont disponibles dans OpenSSL à partir de "
-"la version 0.9.6."
+"la version 0.9.6."
 
 #. type: textblock
 #: C/crypto/mdc2.pod:5
@@ -5932,7 +4469,7 @@
 "output). If B<md> is NULL, the digest is placed in a static array."
 msgstr ""
 "MDC2() calcule le condensé de message MDC2 des B<n> octets de B<d> et le "
-"place dans B<md> (qui doit avoir de la place pour MDC2_DIGEST_LENGTH == 16 "
+"place dans B<md> (qui doit avoir de la place pour MDC2_DIGEST_LENGTH == 16 "
 "octets de sortie). Si B<md> est NULL, le condensé est placé dans un tableau "
 "statique."
 
@@ -5957,7 +4494,7 @@
 "MDC2_DIGEST_LENGTH == 16 bytes of output, and erases the B<MDC2_CTX>."
 msgstr ""
 "MDC2_Final() place le condensé du message dans B<md>, qui doit avoir de la "
-"place pour MDC2_DIGEST_LENGTH == 16 octets de données, et efface B<MDC2_CTX>."
+"place pour MDC2_DIGEST_LENGTH == 16 octets de données, et efface B<MDC2_CTX>."
 
 #. type: textblock
 #: C/crypto/mdc2.pod:47
@@ -6021,31 +4558,6 @@
 "PEM_write_bio_NETSCAPE_CERT_SEQUENCE, PEM_write_NETSCAPE_CERT_SEQUENCE - PEM "
 "routines"
 msgstr ""
-"PEM, PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, "
-"PEM_write_PrivateKey, PEM_write_bio_PKCS8PrivateKey, "
-"PEM_write_PKCS8PrivateKey, PEM_write_bio_PKCS8PrivateKey_nid, "
-"PEM_write_PKCS8PrivateKey_nid, PEM_read_bio_PUBKEY, PEM_read_PUBKEY, "
-"PEM_write_bio_PUBKEY, PEM_write_PUBKEY, PEM_read_bio_RSAPrivateKey, "
-"PEM_read_RSAPrivateKey, PEM_write_bio_RSAPrivateKey, "
-"PEM_write_RSAPrivateKey, PEM_read_bio_RSAPublicKey, PEM_read_RSAPublicKey, "
-"PEM_write_bio_RSAPublicKey, PEM_write_RSAPublicKey, PEM_read_bio_RSA_PUBKEY, "
-"PEM_read_RSA_PUBKEY, PEM_write_bio_RSA_PUBKEY, PEM_write_RSA_PUBKEY, "
-"PEM_read_bio_DSAPrivateKey, PEM_read_DSAPrivateKey, "
-"PEM_write_bio_DSAPrivateKey, PEM_write_DSAPrivateKey, "
-"PEM_read_bio_DSA_PUBKEY, PEM_read_DSA_PUBKEY, PEM_write_bio_DSA_PUBKEY, "
-"PEM_write_DSA_PUBKEY, PEM_read_bio_DSAparams, PEM_read_DSAparams, "
-"PEM_write_bio_DSAparams, PEM_write_DSAparams, PEM_read_bio_DHparams, "
-"PEM_read_DHparams, PEM_write_bio_DHparams, PEM_write_DHparams, "
-"PEM_read_bio_X509, PEM_read_X509, PEM_write_bio_X509, PEM_write_X509, "
-"PEM_read_bio_X509_AUX, PEM_read_X509_AUX, PEM_write_bio_X509_AUX, "
-"PEM_write_X509_AUX, PEM_read_bio_X509_REQ, PEM_read_X509_REQ, "
-"PEM_write_bio_X509_REQ, PEM_write_X509_REQ, PEM_write_bio_X509_REQ_NEW, "
-"PEM_write_X509_REQ_NEW, PEM_read_bio_X509_CRL, PEM_read_X509_CRL, "
-"PEM_write_bio_X509_CRL, PEM_write_X509_CRL, PEM_read_bio_PKCS7, "
-"PEM_read_PKCS7, PEM_write_bio_PKCS7, PEM_write_PKCS7, "
-"PEM_read_bio_NETSCAPE_CERT_SEQUENCE, PEM_read_NETSCAPE_CERT_SEQUENCE, "
-"PEM_write_bio_NETSCAPE_CERT_SEQUENCE, PEM_write_NETSCAPE_CERT_SEQUENCE - "
-"routines PEM"
 
 #. type: verbatim
 #: C/crypto/pem.pod:9
@@ -6113,14 +4625,12 @@
 #: C/crypto/pem.pod:25
 #, no-wrap
 msgid ""
-" int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER "
-"*enc,\n"
+" int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,\n"
 "\t\t\t\t\tchar *kstr, int klen,\n"
 "\t\t\t\t\tpem_password_cb *cb, void *u);\n"
 "\n"
 msgstr ""
-" int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER "
-"*enc,\n"
+" int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,\n"
 "\t\t\t\t\tchar *kstr, int klen,\n"
 "\t\t\t\t\tpem_password_cb *cb, void *u);\n"
 "\n"
@@ -6443,12 +4953,10 @@
 #: C/crypto/pem.pod:108
 #, no-wrap
 msgid ""
-" DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void "
-"*u);\n"
+" DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u);\n"
 "\n"
 msgstr ""
-" DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void "
-"*u);\n"
+" DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb, void *u);\n"
 "\n"
 
 #. type: verbatim
@@ -6565,12 +5073,10 @@
 #: C/crypto/pem.pod:132
 #, no-wrap
 msgid ""
-" X509 *PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void "
-"*u);\n"
+" X509 *PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u);\n"
 "\n"
 msgstr ""
-" X509 *PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void "
-"*u);\n"
+" X509 *PEM_read_bio_X509_AUX(BIO *bp, X509 **x, pem_password_cb *cb, void *u);\n"
 "\n"
 
 #. type: verbatim
@@ -6691,12 +5197,10 @@
 #: C/crypto/pem.pod:161
 #, no-wrap
 msgid ""
-" PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void "
-"*u);\n"
+" PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u);\n"
 "\n"
 msgstr ""
-" PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void "
-"*u);\n"
+" PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb, void *u);\n"
 "\n"
 
 #. type: verbatim
@@ -6761,12 +5265,10 @@
 #: C/crypto/pem.pod:177
 #, no-wrap
 msgid ""
-" int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE "
-"*x);\n"
+" int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE *x);\n"
 "\n"
 msgstr ""
-" int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE "
-"*x);\n"
+" int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp, NETSCAPE_CERT_SEQUENCE *x);\n"
 "\n"
 
 #. type: verbatim
@@ -6785,9 +5287,6 @@
 "The PEM functions read or write structures in PEM format. In this sense PEM "
 "format is simply base64 encoded data surrounded by header lines."
 msgstr ""
-"Les fonctions PEM lisent ou écrivent des structures au format PEM. En ce sens "
-"le format PEM est simplement des données chiffrées en base64 entourées de "
-"lignes d'en-tête."
 
 #. type: textblock
 #: C/crypto/pem.pod:187
@@ -6795,8 +5294,6 @@
 "For more details about the meaning of arguments see the B<PEM FUNCTION "
 "ARGUMENTS> section."
 msgstr ""
-"Pour plus de détails sur la signification des arguments, voir la partie B<"
-"ARGUMENTS DES FONCTIONS PEM>."
 
 #. type: textblock
 #: C/crypto/pem.pod:190
@@ -6806,10 +5303,6 @@
 "PEM_read_bio_foobar(), PEM_read_foobar(), PEM_write_bio_foobar() and "
 "PEM_write_foobar() functions."
 msgstr ""
-"Chaque opération possède 4 fonctions qui lui sont associées. Pour clarifier "
-"le terme « fonctions B<foobar> » sera utilisé pour faire collectivement "
-"référence aux fonctions PEM_read_bio_foobar(), PEM_read_foobar(), "
-"PEM_write_bio_foobar() et PEM_write_foobar()"
 
 #. type: textblock
 #: C/crypto/pem.pod:195
@@ -6820,11 +5313,6 @@
 "additionally transparently handle PKCS#8 format encrypted and unencrypted "
 "keys too."
 msgstr ""
-"La fonction B<PrivateKey> lit et écrit une clé privée dans le format PEM en "
-"utilisant une structure EVP_PKEY. Les routines d'écriture utilisent une clé "
-"privée au format « traditionnel » et peuvent gérer les clés privées RSA et DSA. "
-"Les fonctions de lecture peuvent aussi gérer de façon transparente les clés "
-"chiffrées et déchiffrées au format PKCS#8."
 
 #. type: textblock
 #: C/crypto/pem.pod:201
@@ -6837,14 +5325,6 @@
 "headers. If B<cipher> is NULL then no encryption is used and a PKCS#8 "
 "PrivateKeyInfo structure is used instead."
 msgstr ""
-"PEM_write_bio_PKCS8PrivateKey() et PEM_write_PKCS8PrivateKey() écrivent une "
-"clé privée dans une structure EVP_PKEY dans le format PKCS#8 "
-"EncryptedPrivateKeyInfo en utilisant un algorithme de mot de passe basé sur "
-"PKCS#5 v2.0. L'argument B<cipher> spécifie l'algorithme de chiffrement à "
-"utiliser : contrairement à toutes les autres routines PEM, le chiffrement est "
-"appliqué au niveau du PKCS#8 et pas dans les en-têtes PEM. Si B<cipher> est "
-"NULL alors il n'y aura pas de chiffrement utilisé et une structure PKCS#8 "
-"PrivateKeyInfo sera utilisée."
 
 #. type: textblock
 #: C/crypto/pem.pod:209
@@ -6855,11 +5335,6 @@
 "use is specified in the B<nid> parameter and should be the NID of the "
 "corresponding OBJECT IDENTIFIER (see NOTES section)."
 msgstr ""
-"PEM_write_bio_PKCS8PrivateKey_nid() et PEM_write_PKCS8PrivateKey_nid() "
-"écrivent aussi une clé privée comme PKCS#8 EncryptedPrivateKeyInfo cependant "
-"elles utilisent les algorithmes de chiffrement KCS#5 v1.5 ou PKCS#12 à la place. "
-"L'algorithme à utiliser dans le paramètre B<nid> doit être le NID de "
-"l'IDENTIFIANT DE L'OBJET (voir la section NOTES)."
 
 #. type: textblock
 #: C/crypto/pem.pod:215
@@ -6867,9 +5342,6 @@
 "The B<PUBKEY> functions process a public key using an EVP_PKEY structure. "
 "The public key is encoded as a SubjectPublicKeyInfo structure."
 msgstr ""
-"Les fonctions B<PUBKEY> traitent une clé publique en utilisant une structure "
-"EVP_PKEY. La clé publique est chiffrée comme une structure "
-"SubjectPublicKeyInfo."
 
 #. type: textblock
 #: C/crypto/pem.pod:219
@@ -6878,9 +5350,6 @@
 "structure. It handles the same formats as the B<PrivateKey> functions but an "
 "error occurs if the private key is not RSA."
 msgstr ""
-"Les fonctions B<RSAPrivateKey> traitent une clé RSA privée en utilisant une "
-"structure RSA. Elle gère le même format que les fonctions B<PrivateKey> mais "
-"si une erreur se produit la clé privée produite n'est pas une clé RSA."
 
 #. type: textblock
 #: C/crypto/pem.pod:223
@@ -6888,9 +5357,6 @@
 "The B<RSAPublicKey> functions process an RSA public key using an RSA "
 "structure. The public key is encoded using a PKCS#1 RSAPublicKey structure."
 msgstr ""
-"Les fonctions B<RSAPublicKey> traitent une clé RSA publique en utilisant une "
-"structure RSA. La clé publique est chiffrée en utilisant une structure PKCS#1 "
-"RSAPublicKey"
 
 #. type: textblock
 #: C/crypto/pem.pod:227
@@ -6899,10 +5365,6 @@
 "structure. However the public key is encoded using a SubjectPublicKeyInfo "
 "structure and an error occurs if the public key is not RSA."
 msgstr ""
-"Les fonctions B<RSA_PUBKEY> traitent aussi une clé publique en utilisant une "
-"structure RSA. Mais la clé publique est chiffrée en utilisant une structure "
-"SubjectPublicKeyInfo et une erreur se produit si la clé publique n'est pas "
-"une clé RSA."
 
 #. type: textblock
 #: C/crypto/pem.pod:232
@@ -6911,9 +5373,6 @@
 "structure. It handles the same formats as the B<PrivateKey> functions but an "
 "error occurs if the private key is not DSA."
 msgstr ""
-"Les fonctions B<DSAPrivateKey> traitent une clé DSA privée en utilisant une "
-"structure DSA. Elle gère  les mêmes formats que les fonctions B<PrivateKey> "
-"mais une erreur se produit si la clé n'est pas une clé DSA."
 
 #. type: textblock
 #: C/crypto/pem.pod:236
@@ -6922,9 +5381,6 @@
 "The public key is encoded using a SubjectPublicKeyInfo structure and an "
 "error occurs if the public key is not DSA."
 msgstr ""
-"Les fonctions B<DSA_PUBKEY> traitent une clé publique DSA en utilisant une "
-"structure DSA. La clé publique est chiffrée en utilisant une structure "
-"SubjectPublicKeyInfo et une erreur se produit si la clé n'est pas une clé DSA."
 
 #. type: textblock
 #: C/crypto/pem.pod:241
@@ -6932,9 +5388,6 @@
 "The B<DSAparams> functions process DSA parameters using a DSA structure. The "
 "parameters are encoded using a foobar structure."
 msgstr ""
-"Les fonctions B<DSAparams> traitent les paramètres DSA en utilisant une "
-"structure DSA. Les paramètres sont chiffrés en utilisant une structure "
-"foobar."
 
 #. type: textblock
 #: C/crypto/pem.pod:244
@@ -6942,9 +5395,6 @@
 "The B<DHparams> functions process DH parameters using a DH structure. The "
 "parameters are encoded using a PKCS#3 DHparameter structure."
 msgstr ""
-"Les fonctions B<DHparams> traitent les paramètres DH en utilisant une "
-"structure DH. Les paramètres sont chiffrés en utilisant une structure PKCS#3 "
-"DHparameter"
 
 #. type: textblock
 #: C/crypto/pem.pod:248
@@ -6953,9 +5403,6 @@
 "They will also process a trusted X509 certificate but any trust settings are "
 "discarded."
 msgstr ""
-"Les fonctions B<X509> traitent un certificat X509 en utilisant une structure "
-"X509. Elles traitent aussi les certificats X509 certifiés mais les paramètres "
-"de réglages sont ignorés."
 
 #. type: textblock
 #: C/crypto/pem.pod:252
@@ -6963,8 +5410,6 @@
 "The B<X509_AUX> functions process a trusted X509 certificate using an X509 "
 "structure."
 msgstr ""
-"Les fonction B<X509_AUX> traitent un certificat X509 certifié en utilisant "
-"une structure X509."
 
 #. type: textblock
 #: C/crypto/pem.pod:255
@@ -6976,28 +5421,18 @@
 "read functions will handle either form so there are no B<X509_REQ_NEW> read "
 "functions."
 msgstr ""
-"Les fonction B<X509_REQ> et B<X509_REQ_NEW> traitent une requête de "
-"certificat PKCS#10 en utilisant une structure X509_REQ. La fonction "
-"d'écriture B<X509_REQ> utilise B<CERTIFICATE REQUEST> dans l'en-tête alors "
-"que les fonctions B<X509_REQ_NEW> utilisent B<NEW CERTIFICATE REQUEST> (comme "
-"requis par des CA). Les fonctions de lecture B<X509_REQ> peuvent gérer les "
-"deux formes, il n'y a donc pas de fonctions de lecture B<X509_REQ_NEW>."
 
 #. type: textblock
 #: C/crypto/pem.pod:262
 msgid ""
 "The B<X509_CRL> functions process an X509 CRL using an X509_CRL structure."
 msgstr ""
-"Les fonctions B<X509_CRL> traitent un CRL X509 en utilisant une structure "
-"X509_CRL."
 
 #. type: textblock
 #: C/crypto/pem.pod:265
 msgid ""
 "The B<PKCS7> functions process a PKCS#7 ContentInfo using a PKCS7 structure."
 msgstr ""
-"Les fonctions B<PKCS7> traitent un PKCS#7 ContentInfo en utilisant une "
-"structure PKCS7."
 
 #. type: textblock
 #: C/crypto/pem.pod:268
@@ -7005,18 +5440,16 @@
 "The B<NETSCAPE_CERT_SEQUENCE> functions process a Netscape Certificate "
 "Sequence using a NETSCAPE_CERT_SEQUENCE structure."
 msgstr ""
-"Les fonctions B<NETSCAPE_CERT_SEQUENCE> traitent un Certificat de Séquence "
-"Netscape en utilisant une structure NETSCAPE_CERT_SEQUENCE."
 
 #. type: =head1
 #: C/crypto/pem.pod:271
 msgid "PEM FUNCTION ARGUMENTS"
-msgstr "ARGUMENTS DES FONCTIONS PEM"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/pem.pod:273
 msgid "The PEM functions have many common arguments."
-msgstr "Les fonctions PEM ont beaucoup d'arguments en commun."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/pem.pod:275
@@ -7024,8 +5457,6 @@
 "The B<bp> BIO parameter (if present) specifies the BIO to read from or write "
 "to."
 msgstr ""
-"Les paramètres B<bp> (si présents) spécifient le BIO dans lequel il faut lire "
-"ou écrire."
 
 #. type: textblock
 #: C/crypto/pem.pod:278
@@ -7033,8 +5464,6 @@
 "The B<fp> FILE parameter (if present) specifies the FILE pointer to read "
 "from or write to."
 msgstr ""
-"Le paramètre de FILE B<fp> (si présent) spécifie le pointeur de FILE dans "
-"lequel il faut lire ou écrire."
 
 #. type: textblock
 #: C/crypto/pem.pod:281
@@ -7047,14 +5476,6 @@
 "see BUGS and EXAMPLES sections).  Irrespective of the value of B<x> a "
 "pointer to the structure is always returned (or NULL if an error occurred)."
 msgstr ""
-"Les fonctions de lecture PEM prennent toutes un argument B<TYPE **x> et "
-"renvoient toutes un pointeur B<TYPE *>. B<TYPE> est une structure quelconque "
-"que la fonction utilise. Si B<x> est NULL alors le paramètre est ignoré. Si "
-"B<x> n'est pas NULL mais B<*x> est NULL alors la structure renvoyée sera "
-"écrite dans B<*x>. Si ni B<x> et B<*x> sont NULL alors une tentative de "
-"réutilisation de la structure sera faite (mais voir la partie BOGUES et "
-"EXEMPLES). Quelque soit la valeur de B<x> un pointeur vers une structure est "
-"toujours renvoyé (ou NULL en cas d'erreur)."
 
 #. type: textblock
 #: C/crypto/pem.pod:290
@@ -7064,10 +5485,6 @@
 "level. If this parameter is set to NULL then the private key is written in "
 "unencrypted form."
 msgstr ""
-"Les fonctions PEM qui utilisent des clés privées prennent un paramètre B<enc> "
-"qui spécifie l'algorithme de chiffrement à utiliser, le chiffrement est fait "
-"au niveau du PEM. Si ce paramètre est mis à NULL alors la clé privée est "
-"écrite de façon non chiffrée."
 
 #. type: textblock
 #: C/crypto/pem.pod:295
@@ -7075,9 +5492,6 @@
 "The B<cb> argument is the callback to use when querying for the pass phrase "
 "used for encrypted PEM structures (normally only private keys)."
 msgstr ""
-"L'argument B<cb> est le rappel à utiliser pour les requêtes pour le mot de "
-"passe utilisé pour chiffrer les structures PEM (que des clés privées "
-"normalement)."
 
 #. type: textblock
 #: C/crypto/pem.pod:298
@@ -7085,9 +5499,6 @@
 "For the PEM write routines if the B<kstr> parameter is not NULL then B<klen> "
 "bytes at B<kstr> are used as the passphrase and B<cb> is ignored."
 msgstr ""
-"Pour les routines d'écritures PEM, si le paramètre B<kstr> n'est pas NULL "
-"alors B<klen> octets à B<kstr> sont utilisées comme mot de passe et B<cb> est "
-"ignoré."
 
 #. type: textblock
 #: C/crypto/pem.pod:302
@@ -7098,12 +5509,6 @@
 "routine is used which will typically prompt for the passphrase on the "
 "current terminal with echoing turned off."
 msgstr ""
-"Si les paramètres B<cb> sont initialisés à NULL et que le paramètre B<u> "
-"n'est pas NULL alors le paramètre B<u> n'est pas correctement interprété "
-"comme une chaîne de caractère terminée par un null à utiliser comme mot de "
-"passe. Si B<cb> et B<u> sont NULL alors la routine de retour est utilisée, ce "
-"qui affiche typiquement une demande d'entrée de texte pour le mot de passe "
-"sur le terminal courant et sans affichage de l'entrée."
 
 #. type: textblock
 #: C/crypto/pem.pod:308
@@ -7112,9 +5517,6 @@
 "GUI application) so an alternative can be supplied. The callback routine has "
 "the following form:"
 msgstr ""
-"Le rappel du mot de passe par défaut n'est parfois pas approprié (par exemple "
-"dans une application GUI), l'alternative peut donc être fournie. La routine "
-"du retour de fonction a la forme suivante :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:312
@@ -7139,16 +5541,6 @@
 "application). The callback B<must> return the number of characters in the "
 "passphrase or 0 if an error occurred."
 msgstr ""
-"B<buf> est le tampon d'écriture dans lequel sera écrit le mot de passe. B<"
-"size> est la taille maximale du mot de passe (c.-à-d. la taille du tampon). B<rwflag>"
-" est un drapeau qui est mis à 0 lors d'une lecture et à 1 lors d'une "
-"écriture. Une routine typique demandera à l'utilisateur de vérifier le mot de "
-"passe (par exemple pour le demander deux fois) si B<rwflag>est à 1. Le "
-"paramètre B<u> a la même valeur que le paramètre B<u> passé à la routine PEM. "
-"Il autorise des données arbitraires à êtres passées à la rétroaction par "
-"application (par exemple un gestionnaire de fenêtres dans un GUI). La "
-"rétroaction B<doit> renvoyer le nombre de caractères dans le mot de passe "
-"ou 0 en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/pem.pod:327
@@ -7156,13 +5548,11 @@
 "Although the PEM routines take several arguments in almost all applications "
 "most of them are set to 0 or NULL."
 msgstr ""
-"Bien que les routines PEM prennent plusieurs arguments, dans presque toutes "
-"leurs applications ceux-ci sont mis à 0 ou NULL."
 
 #. type: textblock
 #: C/crypto/pem.pod:330
 msgid "Read a certificate in PEM format from a BIO:"
-msgstr "Lire un certificat dans le format PEM à partir d'un BIO :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:332
@@ -7176,18 +5566,11 @@
 "\t}\n"
 "\n"
 msgstr ""
-" X509 *x;\n"
-" x = PEM_read_bio_X509(bp, NULL, 0, NULL);\n"
-" if (x == NULL)\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:339
 msgid "Alternative method:"
-msgstr "Méthodes alternatives :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:341
@@ -7200,17 +5583,11 @@
 "\t}\n"
 "\n"
 msgstr ""
-" X509 *x = NULL;\n"
-" if (!PEM_read_bio_X509(bp, &x, 0, NULL))\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:347
 msgid "Write a certificate to a BIO:"
-msgstr "Écrire un certificat BIO :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:349
@@ -7222,16 +5599,11 @@
 "\t}\n"
 "\n"
 msgstr ""
-" if (!PEM_write_bio_X509(bp, x))\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:354
 msgid "Write an unencrypted private key to a FILE pointer:"
-msgstr "Écrire une clé non chiffrée à un pointeur FILE :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:356
@@ -7243,11 +5615,6 @@
 "\t}\n"
 "\n"
 msgstr ""
-" if (!PEM_write_PrivateKey(fp, key, NULL, NULL, 0, 0, NULL))\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:361
@@ -7255,26 +5622,17 @@
 "Write a private key (using traditional format) to a BIO using triple DES "
 "encryption, the pass phrase is prompted for:"
 msgstr ""
-"Écrire une clé privée (en utilisant le format traditionnel) dans un BIO en "
-"utilisant un chiffrement Triple-DES, le mot de passe est requis :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:364
 #, no-wrap
 msgid ""
-" if (!PEM_write_bio_PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, "
-"NULL))\n"
+" if (!PEM_write_bio_PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, NULL))\n"
 "\t{\n"
 "\t/* Error */\n"
 "\t}\n"
 "\n"
 msgstr ""
-" if (!PEM_write_bio_PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, "
-"NULL))\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:369
@@ -7282,31 +5640,22 @@
 "Write a private key (using PKCS#8 format) to a BIO using triple DES "
 "encryption, using the pass phrase \"hello\":"
 msgstr ""
-"Écrire une clé privée (en utilisant le format PKCS#8) dans un BIO en "
-"utilisant le chiffrement Triple-DES, en utilisant le mot de passe « hello » :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:372
 #, no-wrap
 msgid ""
-" if (!PEM_write_bio_PKCS8PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, "
-"\"hello\"))\n"
+" if (!PEM_write_bio_PKCS8PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, \"hello\"))\n"
 "\t{\n"
 "\t/* Error */\n"
 "\t}\n"
 "\n"
 msgstr ""
-" if (!PEM_write_bio_PKCS8PrivateKey(bp, key, EVP_des_ede3_cbc(), NULL, 0, 0, "
-"\"hello\"))\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:377
 msgid "Read a private key from a BIO using the pass phrase \"hello\":"
-msgstr "Lire une clé privée d'un BIO en utilisant le mot de passe « hello » :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:379
@@ -7319,17 +5668,11 @@
 "\t}\n"
 "\n"
 msgstr ""
-" key = PEM_read_bio_PrivateKey(bp, NULL, 0, \"hello\");\n"
-" if (key == NULL)\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:385
 msgid "Read a private key from a BIO using a pass phrase callback:"
-msgstr "Lire une clé privée d'un BIO en utilisant le rappel de phrase secrète :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:387
@@ -7342,17 +5685,11 @@
 "\t}\n"
 "\n"
 msgstr ""
-" key = PEM_read_bio_PrivateKey(bp, NULL, pass_cb, \"My Private Key\");\n"
-" if (key == NULL)\n"
-"\t{\n"
-"\t/* Erreur */\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:393
 msgid "Skeleton pass phrase callback:"
-msgstr "Squelette de rappel de phrase secrète :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:395
@@ -7366,13 +5703,6 @@
 "\tprintf(\"Enter pass phrase for \\\"%s\\\"\\n\", u);\n"
 "\n"
 msgstr ""
-" int pass_cb(char *buf, int size, int rwflag, void *u);\n"
-"\t{\n"
-"\tint len;\n"
-"\tchar *tmp;\n"
-"\t/* On ferait probablement autre chose si 'rwflag' était à 1 */\n"
-"\tprintf(\"Enter pass phrase for \\\"%s\\\"\\n\", u);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/pem.pod:402
@@ -7383,10 +5713,6 @@
 "\tlen = strlen(tmp);\n"
 "\n"
 msgstr ""
-"\t/* obtenir la phrase chiffrée, longueur 'len' dans 'tmp' */\n"
-"\ttmp = \"hello\";\n"
-"\tlen = strlen(tmp);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/pem.pod:406
@@ -7400,13 +5726,6 @@
 "\t}\n"
 "\n"
 msgstr ""
-"\tif (len <= 0) return 0;\n"
-"\t/* if too long, truncate */\n"
-"\tif (len > size) len = size;\n"
-"\tmemcpy(buf, tmp, len);\n"
-"\treturn len;\n"
-"\t}\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:415
@@ -7418,13 +5737,6 @@
 "the traditional routines use a count of 1) unless compatibility with older "
 "versions of OpenSSL is important."
 msgstr ""
-"Les anciennes routines d'écriture B<PrivateKey> sont gardées pour raisons de "
-"comptabilité. Les nouvelles applications doivent écrire de nouvelles clés "
-"privées en utilisant les routines PEM_write_bio_PKCS8PrivateKey() ou "
-"PEM_write_PKCS8PrivateKey() car elles sont plus sécurisées (elles utilisent "
-"un compteur d'itération sur 2048 alors que les routines traditionnelles "
-"utilisent un compteur de 1) sauf si la compatibilité avec les anciennes "
-"versions d'OpenSSL est importante."
 
 #. type: textblock
 #: C/crypto/pem.pod:422
@@ -7432,16 +5744,12 @@
 "The B<PrivateKey> read routines can be used in all applications because they "
 "handle all formats transparently."
 msgstr ""
-"Les routines de lecture B<PrivateKey> peuvent être utilisées dans toutes les "
-"applications car elles manipulent tous les formats de façon transparente."
 
 #. type: textblock
 #: C/crypto/pem.pod:425
 msgid ""
 "A frequent cause of problems is attempting to use the PEM routines like this:"
 msgstr ""
-"Un cas récurrent de problèmes est la tentative d'utilisation des routines PEM "
-"de la façon suivante :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:428
@@ -7461,26 +5769,22 @@
 "this is a bug because an attempt will be made to reuse the data at B<x> "
 "which is an uninitialised pointer."
 msgstr ""
-"cela est un bogue car une tentative de réutilisation des données à B<x> sera "
-"faite alors que c'est une pointeur qui n'est pas initialisé."
 
 #. type: =head1
 #: C/crypto/pem.pod:434
 msgid "PEM ENCRYPTION FORMAT"
-msgstr "FORMAT DE CHIFFREMENT PEM"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/pem.pod:436
 msgid ""
 "This old B<PrivateKey> routines use a non standard technique for encryption."
 msgstr ""
-"Cette vieille routine B<PrivateKey> utilise une méthode non standard de "
-"chiffrement."
 
 #. type: textblock
 #: C/crypto/pem.pod:438
 msgid "The private key (or other data) takes the following form:"
-msgstr "La clé privée (ou toutes autres données) prennent la forme suivante :"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/pem.pod:440
@@ -7491,7 +5795,7 @@
 " DEK-Info: DES-EDE3-CBC,3F17F5316E2BAC89\n"
 "\n"
 msgstr ""
-" -----DÉBUT CLÉ PRIVÉE RSA-----\n"
+" -----BEGIN RSA PRIVATE KEY-----\n"
 " Proc-Type: 4,ENCRYPTED\n"
 " DEK-Info: DES-EDE3-CBC,3F17F5316E2BAC89\n"
 "\n"
@@ -7504,9 +5808,6 @@
 " -----END RSA PRIVATE KEY-----\n"
 "\n"
 msgstr ""
-" ...données encodées en base64...\n"
-" -----FIN CLÉ PRIVÉE RSA-----\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/pem.pod:447
@@ -7515,15 +5816,11 @@
 "information: the encryption algorithm name as used by EVP_get_cipherbyname() "
 "and an 8 byte B<salt> encoded as a set of hexadecimal digits."
 msgstr ""
-"La ligne qui commence DEK-Info contient deux virgules séparées par des "
-"morceaux d'information : le nom de l'algorithme de chiffrement comme utilisé "
-"par EVP_get_cipherbyname() et un B<salt> de 8 octets chiffré comme un ensemble "
-"de valeurs hexadécimales."
 
 #. type: textblock
 #: C/crypto/pem.pod:451
 msgid "After this is the base64 encoded encrypted data."
-msgstr "Après ce sont les données chiffrées en base64"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/pem.pod:453
@@ -7532,9 +5829,6 @@
 "an iteration count of 1. The IV used is the value of B<salt> and *not* the "
 "IV returned by EVP_bytestokey()."
 msgstr ""
-"La clé de chiffrement est déterminée en utilisant EVP_bytestokey(), en "
-"utilisant B<salt> et un compteur d'itération de 1. Le IV utilisé est la "
-"valeur de B<salt> et *pas* le IV renvoyé par EVP_bytestokey()."
 
 #. type: textblock
 #: C/crypto/pem.pod:459
@@ -7542,9 +5836,6 @@
 "The PEM read routines in some versions of OpenSSL will not correctly reuse "
 "an existing structure. Therefore the following:"
 msgstr ""
-"Les routines de lecture PEM, dans certaines versions de OpenSSL, "
-"n'utiliseront pas correctement les structures existantes. De ce fait ce qui "
-"suit :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:462
@@ -7560,8 +5851,6 @@
 #: C/crypto/pem.pod:464
 msgid "where B<x> already contains a valid certificate, may not work, whereas:"
 msgstr ""
-"ou B<x> contient déjà un certificat valable, risque de ne pas fonctionner, "
-"alors que :"
 
 #. type: verbatim
 #: C/crypto/pem.pod:466
@@ -7578,12 +5867,12 @@
 #. type: textblock
 #: C/crypto/pem.pod:469
 msgid "is guaranteed to work."
-msgstr "est garanti de fonctionner."
+msgstr ""
 
 #. type: =head1
 #: C/crypto/pem.pod:471
 msgid "RETURN CODES"
-msgstr "CODES DE RETOUR"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/pem.pod:473
@@ -7591,18 +5880,16 @@
 "The read routines return either a pointer to the structure read or NULL if "
 "an error occurred."
 msgstr ""
-"Les routines de lectures renvoient soit un pointeur vers la structure read "
-"ou NULL si une erreur s'est produite."
 
 #. type: textblock
 #: C/crypto/pem.pod:476
 msgid "The write routines return 1 for success or 0 for failure."
-msgstr "La routine d'écriture renvoie 1 en cas de succès et 0 en cas d'échec."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/rc4.pod:5
 msgid "RC4_set_key, RC4 - RC4 encryption"
-msgstr "RC4_set_key, RC4 - chiffrement RC4"
+msgstr ""
 
 #. type: verbatim
 #: C/crypto/rc4.pod:9
@@ -7611,8 +5898,6 @@
 " #include <openssl/rc4.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/rc4.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/rc4.pod:11
@@ -7621,8 +5906,6 @@
 " void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);\n"
 "\n"
 msgstr ""
-" void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/rc4.pod:13
@@ -7632,9 +5915,6 @@
 "          unsigned char *outdata);\n"
 "\n"
 msgstr ""
-" void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,\n"
-"          unsigned char *outdata);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/rc4.pod:18
@@ -7643,9 +5923,6 @@
 "example in I<Applied Cryptography>.  It is believed to be compatible with RC4"
 "[TM], a proprietary cipher of RSA Security Inc."
 msgstr ""
-"La bibliothèque implémente le chiffrement « Alleged RC4 », qui est décrit par "
-"exemple dans I<Cryptographie appliquée>. Il est supposé être "
-"compatible avec RC4[TM], un chiffrement propriétaire de RSA Security Inc."
 
 #. type: textblock
 #: C/crypto/rc4.pod:22
@@ -7654,10 +5931,6 @@
 "byte) keys are used for strong encryption, but shorter insecure key sizes "
 "have been widely used due to export restrictions."
 msgstr ""
-"RC4 est un chiffrement de flux avec une clé de taille variable. Typiquement, "
-"des clés de 128 bits (16 octets) sont utilisées pour un chiffrement fort, "
-"mais des clés plus courtes moins sécurisées ont été utilisées pour des "
-"raisons de restrictions à l'export."
 
 #. type: textblock
 #: C/crypto/rc4.pod:26
@@ -7665,8 +5938,6 @@
 "RC4 consists of a key setup phase and the actual encryption or decryption "
 "phase."
 msgstr ""
-"RC4 consiste en une phase de d'initialisation de clé puis d'un chiffrement ou "
-"déchiffrement."
 
 #. type: textblock
 #: C/crypto/rc4.pod:29
@@ -7674,8 +5945,6 @@
 "RC4_set_key() sets up the B<RC4_KEY> B<key> using the B<len> bytes long key "
 "at B<data>."
 msgstr ""
-"RC4_set_key() initialise la B<RC4_KEY> B<key> en utilisant la clé de B<len> "
-"octets à B<data>."
 
 #. type: textblock
 #: C/crypto/rc4.pod:32
@@ -7684,9 +5953,6 @@
 "B<key> and places the result at B<outdata>.  Repeated RC4() calls with the "
 "same B<key> yield a continuous key stream."
 msgstr ""
-"RC4() chiffre ou déchiffre les B<len> octets de données à B<indate> en "
-"utilisant B<key> et place le résultat dans B<outdata>. Les appels répétés à "
-"RC4() avec la même clé B<key> produisent un flux continu de clés."
 
 #. type: textblock
 #: C/crypto/rc4.pod:36
@@ -7695,9 +5961,6 @@
 "stream to produce the output), decryption uses the same function calls as "
 "encryption."
 msgstr ""
-"Comme RC4 est un chiffrement de flux (l'entrée est XORée avec un flux de clés "
-"pseudo-aléatoire pour produire la sortie), le déchiffrement utilise les mêmes "
-"appels de fonctions que le chiffrement."
 
 #. type: textblock
 #: C/crypto/rc4.pod:40
@@ -7705,14 +5968,11 @@
 "Applications should use the higher level functions L<EVP_EncryptInit(3)|"
 "EVP_EncryptInit(3)> etc. instead of calling the RC4 functions directly."
 msgstr ""
-"Les applications devraient utiliser les fonctions de haut niveau comme L<"
-"EVP_EncryptInit(3)|EVP_EncryptInit(3)>, etc., au lieu d'appeler les fonctions "
-"RC4 directement."
 
 #. type: textblock
 #: C/crypto/rc4.pod:46
 msgid "RC4_set_key() and RC4() do not return values."
-msgstr "RC4_set_key() et RC4() ne renvoient pas de valeur."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/rc4.pod:50
@@ -7720,22 +5980,17 @@
 "Certain conditions have to be observed to securely use stream ciphers.  It "
 "is not permissible to perform multiple encryptions using the same key stream."
 msgstr ""
-"Certaines conditions doivent être respectées pour utiliser les chiffrements "
-"de flux. Il n'est pas possible de faire plusieurs chiffrements en utilisant "
-"le même flux de clés."
 
 #. type: textblock
 #: C/crypto/rc4.pod:56
 msgid "L<blowfish(3)|blowfish(3)>, L<des(3)|des(3)>, L<rc2(3)|rc2(3)>"
-msgstr "L<blowfish(3)|blowfish(3)>, L<des(3)|des(3)>, L<rc2(3)|rc2(3)>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/rc4.pod:60
 msgid ""
 "RC4_set_key() and RC4() are available in all versions of SSLeay and OpenSSL."
 msgstr ""
-"RC4_set_key() et RC4() sont disponibles dans toutes les versions de SSLeay et "
-"OpenSSL."
 
 #. type: textblock
 #: C/crypto/ripemd.pod:5
@@ -7801,7 +6056,7 @@
 msgstr ""
 "RIPEMD160() calcule le condensé de message RIPEMD-160 des B<n> octets de "
 "B<d> et le place dans B<md> (qui doit avoir de la place pour "
-"RIPEMD160_DIGEST_LENGTH == 20 octets de sortie). Si B<md> est NULL, le "
+"RIPEMD160_DIGEST_LENGTH == 20 octets de sortie). Si B<md> est NULL, le "
 "condensé est placé dans un tableau statique."
 
 #. type: textblock
@@ -7826,7 +6081,7 @@
 "B<RIPEMD160_CTX>."
 msgstr ""
 "RIPEMD160_Final() place le condensé du message dans B<md>, qui doit avoir de "
-"la place pour RIPEMD160_DIGEST_LENGTH == 20 octets de données, et efface "
+"la place pour RIPEMD160_DIGEST_LENGTH == 20 octets de données, et efface "
 "B<RIPEMD160_CTX>."
 
 #. type: textblock
@@ -7862,7 +6117,7 @@
 "available since SSLeay 0.9.0."
 msgstr ""
 "RIPEMD160(), RIPEMD160_Init(), RIPEMD160_Update() et RIPEMD160_Final() sont "
-"disponibles depuis SSLeay 0.9.0."
+"disponibles depuis SSLeay 0.9.0."
 
 #. type: textblock
 #: C/crypto/sha.pod:5
@@ -7926,7 +6181,7 @@
 "of output). If B<md> is NULL, the digest is placed in a static array."
 msgstr ""
 "SHA1() calcule le condensé de message SHA-1 des B<n> octets de B<d> et le "
-"place dans B<md> (qui doit avoir de la place pour SHA_DIGEST_LENGTH == 20 "
+"place dans B<md> (qui doit avoir de la place pour SHA_DIGEST_LENGTH == 20 "
 "octets de sortie). Si B<md> est NULL, le condensé est placé dans un tableau "
 "statique."
 
@@ -7951,7 +6206,7 @@
 "SHA_DIGEST_LENGTH == 20 bytes of output, and erases the B<SHA_CTX>."
 msgstr ""
 "SHA1_Final() place le condensé du message dans B<md>, qui doit avoir de la "
-"place pour SHA_DIGEST_LENGTH == 20 octets de données, et efface B<SHA_CTX>."
+"place pour SHA_DIGEST_LENGTH == 20 octets de données, et efface B<SHA_CTX>."
 
 #. type: textblock
 #: C/crypto/sha.pod:44
@@ -7965,7 +6220,7 @@
 #. type: textblock
 #: C/crypto/sha.pod:49
 msgid "SHA1() returns a pointer to the hash value."
-msgstr "SHA1() renvoie un pointeur vers la valeur hachée."
+msgstr "SHA1() renvoie un pointeur vers la valeur du haché."
 
 #. type: textblock
 #: C/crypto/sha.pod:51
@@ -7973,7 +6228,7 @@
 "SHA1_Init(), SHA1_Update() and SHA1_Final() return 1 for success, 0 "
 "otherwise."
 msgstr ""
-"SHA1_Init(), SHA1_Update() et SHA1_Final() renvoient 1 en cas de succès et 0 "
+"SHA1_Init(), SHA1_Update() et SHA1_Final() renvoie 1 en cas de succès et 0 "
 "sinon."
 
 #. type: textblock
@@ -8015,12 +6270,6 @@
 "CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid, "
 "CRYPTO_destroy_dynlockid, CRYPTO_lock - OpenSSL thread support"
 msgstr ""
-"CRYPTO_THREADID_set_callback, CRYPTO_THREADID_get_callback, "
-"CRYPTO_THREADID_current, CRYPTO_THREADID_cmp, CRYPTO_THREADID_cpy, "
-"CRYPTO_THREADID_hash, CRYPTO_set_locking_callback, CRYPTO_num_locks, "
-"CRYPTO_set_dynlock_create_callback, CRYPTO_set_dynlock_lock_callback, "
-"CRYPTO_set_dynlock_destroy_callback, CRYPTO_get_new_dynlockid, "
-"CRYPTO_destroy_dynlockid, CRYPTO_lock - support de thread d'OpenSSL"
 
 #. type: verbatim
 #: C/crypto/threads.pod:16
@@ -8045,25 +6294,6 @@
 " unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);\n"
 "\n"
 msgstr ""
-" /* N'utilisez pas cette structure directement. */\n"
-" typedef struct crypto_threadid_st\n"
-"         {\n"
-"         void *ptr;\n"
-"         unsigned long val;\n"
-"         } CRYPTO_THREADID;\n"
-" /* Utilisez seulement CRYPTO_THREADID_set_[numeric|pointer]() à l'intérieur "
-"des rétroactions */\n"
-" void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val);\n"
-" void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr);\n"
-" int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *));\n"
-" void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *);\n"
-" void CRYPTO_THREADID_current(CRYPTO_THREADID *id);\n"
-" int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a,\n"
-"                         const CRYPTO_THREADID *b);\n"
-" void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest,\n"
-"                          const CRYPTO_THREADID *src);\n"
-" unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:34
@@ -8072,8 +6302,6 @@
 " int CRYPTO_num_locks(void);\n"
 "\n"
 msgstr ""
-" int CRYPTO_num_locks(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:36
@@ -8083,9 +6311,6 @@
 " struct CRYPTO_dynlock_value;\n"
 "\n"
 msgstr ""
-" /* struct CRYPTO_dynlock_value doit être défini par l'utilisateur */\n"
-" struct CRYPTO_dynlock_value;\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:39
@@ -8100,14 +6325,6 @@
 "\t(struct CRYPTO_dynlock_value *l, const char *file, int line));\n"
 "\n"
 msgstr ""
-" void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *\n"
-"\t(*dyn_create_function)(char *file, int line));\n"
-" void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)\n"
-"\t(int mode, struct CRYPTO_dynlock_value *l,\n"
-"\tconst char *file, int line));\n"
-" void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)\n"
-"\t(struct CRYPTO_dynlock_value *l, const char *file, int line));\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:47
@@ -8116,8 +6333,6 @@
 " int CRYPTO_get_new_dynlockid(void);\n"
 "\n"
 msgstr ""
-" int CRYPTO_get_new_dynlockid(void);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:49
@@ -8126,8 +6341,6 @@
 " void CRYPTO_destroy_dynlockid(int i);\n"
 "\n"
 msgstr ""
-" void CRYPTO_destroy_dynlockid(int i);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:51
@@ -8136,8 +6349,6 @@
 " void CRYPTO_lock(int mode, int n, const char *file, int line);\n"
 "\n"
 msgstr ""
-" void CRYPTO_lock(int mode, int n, const char *file, int line);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/threads.pod:53
@@ -8155,17 +6366,6 @@
 "\tCRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)\n"
 "\n"
 msgstr ""
-" #define CRYPTO_w_lock(type)\t\\\n"
-"\tCRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)\n"
-" #define CRYPTO_w_unlock(type)\t\\\n"
-"\tCRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)\n"
-" #define CRYPTO_r_lock(type)\t\\\n"
-"\tCRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)\n"
-" #define CRYPTO_r_unlock(type)\t\\\n"
-"\tCRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)\n"
-" #define CRYPTO_add(addr,amount,type)\t\\\n"
-"\tCRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/threads.pod:66
@@ -8173,9 +6373,6 @@
 "OpenSSL can safely be used in multi-threaded applications provided that at "
 "least two callback functions are set, locking_function and threadid_func."
 msgstr ""
-"OpenSSL peut être utilisé de façon sûre dans des applications multithreadées "
-"si deux fonctions rétroactives locking_function et threadid_func sont "
-"initialisées."
 
 #. type: textblock
 #: C/crypto/threads.pod:70
@@ -8186,12 +6383,6 @@
 "threads use OpenSSL.)  Multi-threaded applications will crash at random if "
 "it is not set."
 msgstr ""
-"locking_function(int mode, int n, const char *file, int line) est nécessaire "
-"pour verrouiller des structures de données partagées. (Notez qu'OpenSSL "
-"utilise un certain nombre de structures de données globales qui seront "
-"partagées de façon implicite à chaque fois que plusieurs threads utiliseront OpenSSL). Les "
-"applications multithreadées peuvent planter de façon aléatoire si elle n'est "
-"pas initialisée."
 
 #. type: textblock
 #: C/crypto/threads.pod:76
@@ -8200,9 +6391,6 @@
 "different mutex locks. It sets the B<n>-th lock if B<mode> & B<CRYPTO_LOCK>, "
 "and releases it otherwise."
 msgstr ""
-"locking_function() doit être capable de gérer jusqu'à CRYPTO_num_locks() "
-"mutex de verrous différents. Elle règle le B<n>ème verrou si B<mode> & B<"
-"CRYPTO_LOCK>, et le libère dans le cas contraire."
 
 #. type: textblock
 #: C/crypto/threads.pod:80
@@ -8210,8 +6398,6 @@
 "B<file> and B<line> are the file number of the function setting the lock. "
 "They can be useful for debugging."
 msgstr ""
-"B<file> et B<line> sont le numéro du fichier de la fonction qui pose le "
-"verrou. Ils peuvent être utilisés pour déboguer."
 
 #. type: textblock
 #: C/crypto/threads.pod:83
@@ -8227,18 +6413,6 @@
 "the address of B<errno>. The latter is satisfactory for thread-safety if and "
 "only if the platform has a thread-local error number facility."
 msgstr ""
-"threadid_func(CRYPTO_THREADID *id) est nécessaire pour enregistrer les "
-"identifiants des threads en cours d'exécution dans B<id>. L'implémentation de "
-"cette rétroaction ne doit pas remplir B<id> directement, mais doit utiliser "
-"CRYPTO_THREADID_set_numeric() si les ID des threads sont numériques, ou "
-"CRYPTO_THREADID_set_pointer() si ce sont des pointeurs. Si l'application "
-"n'enregistre pas ce genre de rétroactions en utilisant "
-"CRYPTO_THREADID_set_callback(), alors une implémentation par défaut est "
-"utilisée — sur Windows et BeOS cela utilise les API d'identification de "
-"threads par défaut, sur toutes les autres plateformes, cela utilise "
-"l'adresse de B<errno>. Cette dernière est satisfaisante pour la sécurité des "
-"threads si et seulement si la plateforme dispose d'un identifiant numérique "
-"d'erreur pour les threads locaux."
 
 #. type: textblock
 #: C/crypto/threads.pod:94
@@ -8246,8 +6420,6 @@
 "Once threadid_func() is registered, or if the built-in default "
 "implementation is to be used;"
 msgstr ""
-"Une fois que threadid_func() est enregistrée, ou si l'implémentation par "
-"défaut doit être utilisée ;"
 
 #. type: =item
 #: C/crypto/threads.pod:99
@@ -8255,8 +6427,6 @@
 "* CRYPTO_THREADID_current() records the currently-executing thread ID into "
 "the given B<id> object."
 msgstr ""
-"* CRYPTO_THREADID_current() enregistre les ID des threads en cours "
-"d'exécution dans un objet B<id> donné."
 
 #. type: =item
 #: C/crypto/threads.pod:103
@@ -8264,13 +6434,11 @@
 "* CRYPTO_THREADID_cmp() compares two thread IDs (returning zero for "
 "equality, ie.  the same semantics as memcmp())."
 msgstr ""
-"* CRYPTO_THREADID_cmp() compare deux ID de threads (renvoyant 0 pour "
-"égalité, c.-à-d. sémantiques identiques à memcmp())."
 
 #. type: =item
 #: C/crypto/threads.pod:107
 msgid "* CRYPTO_THREADID_cpy() duplicates a thread ID value,"
-msgstr "* CRYPTO_THREADID_cpy() duplique la valeur d'ID d'un thread."
+msgstr ""
 
 #. type: =item
 #: C/crypto/threads.pod:110
@@ -8282,14 +6450,6 @@
 "- in this case, mixing is done to attempt to produce a unique numeric value "
 "even though it is not as wide as the platform's true thread IDs."
 msgstr ""
-"* CRYPTO_THREADID_hash() renvoie une valeur numérique utilisable comme une "
-"clé de table de hachage. Celle-ci est en général la valeur numérique exacte "
-"ou un pointeur vers l'ID du thread utilisé en interne, mais cela gère aussi "
-"les cas peu courants ou les pointeurs sont plus longs que les variables "
-"« long » et les ID des pointeurs dans la plateforme sont basés sur des "
-"pointeurs — dans ce cas, un mélange est fait pour essayer de produire un clé à "
-"valeur unique même s'il n'est pas aussi grand que l'ID réel du thread dans la "
-"plateforme."
 
 #. type: textblock
 #: C/crypto/threads.pod:120
@@ -8298,9 +6458,6 @@
 "OpenSSL need it for better performance.  To enable this, the following is "
 "required:"
 msgstr ""
-"De plus, OpenSSL supporte les verrous dynamiques, et parfois, certaines "
-"parties d'OpenSSL en ont besoin pour de meilleures performances. Pour activer "
-"cela, les choses suivantes sont nécessaires :"
 
 #. type: =item
 #: C/crypto/threads.pod:126
@@ -8308,14 +6465,11 @@
 "* Three additional callback function, dyn_create_function, dyn_lock_function "
 "and dyn_destroy_function."
 msgstr ""
-"* Trois fonctions rétroactives en plus, dyn_create_function, "
-"dyn_lock_function et dyn_destroy_function."
 
 #. type: =item
 #: C/crypto/threads.pod:130
 msgid "* A structure defined with the data that each lock needs to handle."
 msgstr ""
-"* Une structure définie à partir des données que chaque verrou doit manipuler."
 
 #. type: textblock
 #: C/crypto/threads.pod:135
@@ -8323,8 +6477,6 @@
 "struct CRYPTO_dynlock_value has to be defined to contain whatever structure "
 "is needed to handle locks."
 msgstr ""
-"struct CRYPTO_dynlock_value doit être défini de façon à pouvoir contenir "
-"n'importe quel structure nécessaire à gérer les verrous."
 
 #. type: textblock
 #: C/crypto/threads.pod:138
@@ -8332,9 +6484,6 @@
 "dyn_create_function(const char *file, int line) is needed to create a lock.  "
 "Multi-threaded applications might crash at random if it is not set."
 msgstr ""
-"dyn_create_function(const char *file, int line) est nécessaire pour créer un "
-"verrou. Les applications multithreadées peuvent planter de façon aléatoire "
-"si elle n'est pas initialisée."
 
 #. type: textblock
 #: C/crypto/threads.pod:141
@@ -8343,10 +6492,6 @@
 "is needed to perform locking off dynamic lock numbered n. Multi-threaded "
 "applications might crash at random if it is not set."
 msgstr ""
-"dyn_lock_function(int mode, CRYPTO_dynlock *l, const char *file, int line) "
-"est nécessaire pour verrouiller le verrou dynamique numéro n. Les "
-"applications multithreadées peuvent planter de façon aléatoire si elle n'est "
-"pas initialisée."
 
 #. type: textblock
 #: C/crypto/threads.pod:145
@@ -8355,9 +6500,6 @@
 "needed to destroy the lock l. Multi-threaded applications might crash at "
 "random if it is not set."
 msgstr ""
-"dyn_destroy_function(CRYPTO_dynlock *l, const char *file, int line) est "
-"nécessaire pour détruire le verrou I. Les applications multithreadées peuvent "
-"planter de façon aléatoire si elle n'est pas initialisée."
 
 #. type: textblock
 #: C/crypto/threads.pod:149
@@ -8365,8 +6507,6 @@
 "CRYPTO_get_new_dynlockid() is used to create locks.  It will call "
 "dyn_create_function for the actual creation."
 msgstr ""
-"CRYPTO_get_new_dynlockid() est utilisée pour créer les verrous. Elle "
-"appellera dyn_create_function pour la création."
 
 #. type: textblock
 #: C/crypto/threads.pod:152
@@ -8374,8 +6514,6 @@
 "CRYPTO_destroy_dynlockid() is used to destroy locks.  It will call "
 "dyn_destroy_function for the actual destruction."
 msgstr ""
-"CRYPTO_destroy_dynlockid() est utilisée pour détruire les verrous. Elle "
-"appellera dyn_destroy_function pour la destruction."
 
 #. type: textblock
 #: C/crypto/threads.pod:155
@@ -8387,13 +6525,6 @@
 "behaviour if misused (for example, CRYPTO_READ and CRYPTO_WRITE should not "
 "be used together):"
 msgstr ""
-"CRYPTO_lock() est utilisée pour verrouiller et déverrouiller les verrous. Mode "
-"est un champ de bits décrivant ce qui doit être fait avec le verrou. N est "
-"le nombre de verrous identique au retour de CRYPTO_get_new_dynlockid(). Mode "
-"peut être combiné à partir des valeurs suivantes. Ces valeurs sont mutuellement "
-"exclusives, avec un comportement indéfini si elles sont mal utilisées (par "
-"exemple, CRYPTO_READ et CRYPTO_WRITE ne doivent pas êtres utilisées "
-"ensemble)."
 
 #. type: verbatim
 #: C/crypto/threads.pod:162
@@ -8405,33 +6536,26 @@
 "\tCRYPTO_WRITE\t0x08\n"
 "\n"
 msgstr ""
-"\tCRYPTO_LOCK\t0x01\n"
-"\tCRYPTO_UNLOCK\t0x02\n"
-"\tCRYPTO_READ\t0x04\n"
-"\tCRYPTO_WRITE\t0x08\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/threads.pod:169
 msgid "CRYPTO_num_locks() returns the required number of locks."
-msgstr "CRYPTO_num_locks() renvoie le nombre nécessaire de verrous."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/threads.pod:171
 msgid "CRYPTO_get_new_dynlockid() returns the index to the newly created lock."
 msgstr ""
-"CRYPTO_get_new_dynlockid() renvoie l'index vers le verrou nouvellement créé."
 
 #. type: textblock
 #: C/crypto/threads.pod:173
 msgid "The other functions return no values."
-msgstr "Les autres fonctions ne renvoient pas de valeur."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/threads.pod:177
 msgid "You can find out if OpenSSL was configured with thread support:"
 msgstr ""
-"Vous pouvez savoir si le support de thread de OpenSSL a été activé avec :"
 
 #. type: verbatim
 #: C/crypto/threads.pod:179
@@ -8446,14 +6570,6 @@
 " #endif\n"
 "\n"
 msgstr ""
-" #define OPENSSL_THREAD_DEFINES\n"
-" #include <openssl/opensslconf.h>\n"
-" #if defined(OPENSSL_THREADS)\n"
-"   // support de thread activé\n"
-" #else\n"
-"   // pas de support de thread\n"
-" #endif\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/threads.pod:187
@@ -8461,8 +6577,6 @@
 "Also, dynamic locks are currently not used internally by OpenSSL, but may do "
 "so in the future."
 msgstr ""
-"Aussi, les verrous dynamiques ne sont actuellement pas utilisés en interne "
-"par OpenSSL, mais cela peut changer dans le futur. "
 
 #. type: textblock
 #: C/crypto/threads.pod:192
@@ -8470,8 +6584,6 @@
 "B<crypto/threads/mttest.c> shows examples of the callback functions on "
 "Solaris, Irix and Win32."
 msgstr ""
-"B<crypto/threads/mttest.c> montre des exemples d'utilisation des fonctions "
-"rétroactives sur Solaris, Irix et Win32."
 
 #. type: textblock
 #: C/crypto/threads.pod:197
@@ -8484,14 +6596,6 @@
 "CRYPTO_get_id_callback(), and CRYPTO_thread_id() functions which assumed "
 "thread IDs to always be represented by 'unsigned long'."
 msgstr ""
-"CRYPTO_set_locking_callback() est disponible dans toutes les version de "
-"SSLeay et d'OpenSSL. CRYPTO_num_locks() a été ajoutée dans OpenSSL 0.9.4. "
-"Toutes les fonctions traitant des verrous dynamiques ont étés ajoutées dans "
-"OpenSSL 0.9.5b-dev. B<CRYPTO_THREADID> et les fonctions qui lui sont "
-"associées ont été introduites dans OpenSSL 1.0.0 pour remplacer (en fait, "
-"pour rendre obsolète) les anciennes fonctions CRYPTO_set_id_callback(), "
-"CRYPTO_get_id_callback(), et CRYPTO_thread_id() qui supposaient que les ID "
-"des threads étaient toujours représentés par un « unsigned long »."
 
 #. type: textblock
 #: C/crypto/threads.pod:208
@@ -8509,13 +6613,6 @@
 "UI_set_default_method, UI_get_default_method, UI_get_method, UI_set_method, "
 "UI_OpenSSL, ERR_load_UI_strings - New User Interface"
 msgstr ""
-"UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, "
-"UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, "
-"UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, "
-"UI_add_error_string, UI_dup_error_string, UI_construct_prompt, "
-"UI_add_user_data, UI_get0_user_data, UI_get0_result, UI_process, UI_ctrl, "
-"UI_set_default_method, UI_get_default_method, UI_get_method, UI_set_method, "
-"UI_OpenSSL, ERR_load_UI_strings - Nouvelle interface utilisateur."
 
 #. type: verbatim
 #: C/crypto/ui.pod:15
@@ -8524,8 +6621,6 @@
 " #include <openssl/ui.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/ui.h>\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:17
@@ -8535,9 +6630,6 @@
 " typedef struct ui_method_st UI_METHOD;\n"
 "\n"
 msgstr ""
-" typedef struct ui_st UI;\n"
-" typedef struct ui_method_st UI_METHOD;\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:20
@@ -8548,10 +6640,6 @@
 " void UI_free(UI *ui);\n"
 "\n"
 msgstr ""
-" UI *UI_new(void);\n"
-" UI *UI_new_method(const UI_METHOD *method);\n"
-" void UI_free(UI *ui);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:24
@@ -8565,12 +6653,10 @@
 "\tchar *result_buf, int minsize, int maxsize, const char *test_buf);\n"
 " int UI_dup_verify_string(UI *ui, const char *prompt, int flags,\n"
 "\tchar *result_buf, int minsize, int maxsize, const char *test_buf);\n"
-" int UI_add_input_boolean(UI *ui, const char *prompt, const char "
-"*action_desc,\n"
+" int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,\n"
 "\tconst char *ok_chars, const char *cancel_chars,\n"
 "\tint flags, char *result_buf);\n"
-" int UI_dup_input_boolean(UI *ui, const char *prompt, const char "
-"*action_desc,\n"
+" int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,\n"
 "\tconst char *ok_chars, const char *cancel_chars,\n"
 "\tint flags, char *result_buf);\n"
 " int UI_add_info_string(UI *ui, const char *text);\n"
@@ -8579,27 +6665,6 @@
 " int UI_dup_error_string(UI *ui, const char *text);\n"
 "\n"
 msgstr ""
-" int UI_add_input_string(UI *ui, const char *prompt, int flags,\n"
-"\tchar *result_buf, int minsize, int maxsize);\n"
-" int UI_dup_input_string(UI *ui, const char *prompt, int flags,\n"
-"\tchar *result_buf, int minsize, int maxsize);\n"
-" int UI_add_verify_string(UI *ui, const char *prompt, int flags,\n"
-"\tchar *result_buf, int minsize, int maxsize, const char *test_buf);\n"
-" int UI_dup_verify_string(UI *ui, const char *prompt, int flags,\n"
-"\tchar *result_buf, int minsize, int maxsize, const char *test_buf);\n"
-" int UI_add_input_boolean(UI *ui, const char *prompt, const char "
-"*action_desc,\n"
-"\tconst char *ok_chars, const char *cancel_chars,\n"
-"\tint flags, char *result_buf);\n"
-" int UI_dup_input_boolean(UI *ui, const char *prompt, const char "
-"*action_desc,\n"
-"\tconst char *ok_chars, const char *cancel_chars,\n"
-"\tint flags, char *result_buf);\n"
-" int UI_add_info_string(UI *ui, const char *text);\n"
-" int UI_dup_info_string(UI *ui, const char *text);\n"
-" int UI_add_error_string(UI *ui, const char *text);\n"
-" int UI_dup_error_string(UI *ui, const char *text);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:43
@@ -8610,11 +6675,6 @@
 " #define UI_INPUT_FLAG_DEFAULT_PWD\t0x02\n"
 "\n"
 msgstr ""
-" /* Voici les drapeaux disponibles. Ils peuvent être ajoutés ensemble avec "
-"OR */\n"
-" #define UI_INPUT_FLAG_ECHO\t\t0x01\n"
-" #define UI_INPUT_FLAG_DEFAULT_PWD\t0x02\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:47
@@ -8624,9 +6684,6 @@
 "\tconst char *object_desc, const char *object_name);\n"
 "\n"
 msgstr ""
-" char *UI_construct_prompt(UI *ui_method,\n"
-"\tconst char *object_desc, const char *object_name);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:50
@@ -8636,9 +6693,6 @@
 " void *UI_get0_user_data(UI *ui);\n"
 "\n"
 msgstr ""
-" void *UI_add_user_data(UI *ui, void *user_data);\n"
-" void *UI_get0_user_data(UI *ui);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:53
@@ -8647,8 +6701,6 @@
 " const char *UI_get0_result(UI *ui, int i);\n"
 "\n"
 msgstr ""
-" const char *UI_get0_result(UI *ui, int i);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:55
@@ -8657,8 +6709,6 @@
 " int UI_process(UI *ui);\n"
 "\n"
 msgstr ""
-" int UI_process(UI *ui);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:57
@@ -8669,10 +6719,6 @@
 " #define UI_CTRL_IS_REDOABLE\t\t2\n"
 "\n"
 msgstr ""
-" int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)());\n"
-" #define UI_CTRL_PRINT_ERRORS\t\t1\n"
-" #define UI_CTRL_IS_REDOABLE\t\t2\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:61
@@ -8684,11 +6730,6 @@
 " const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);\n"
 "\n"
 msgstr ""
-" void UI_set_default_method(const UI_METHOD *meth);\n"
-" const UI_METHOD *UI_get_default_method(void);\n"
-" const UI_METHOD *UI_get_method(UI *ui);\n"
-" const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);\n"
-"\n"
 
 #. type: verbatim
 #: C/crypto/ui.pod:66
@@ -8697,8 +6738,6 @@
 " UI_METHOD *UI_OpenSSL(void);\n"
 "\n"
 msgstr ""
-" UI_METHOD *UI_OpenSSL(void);\n"
-"\n"
 
 #. type: textblock
 #: C/crypto/ui.pod:70
@@ -8709,12 +6748,6 @@
 "imaginable, be it plain text prompting, through dialog boxes or from a cell "
 "phone."
 msgstr ""
-"UI signifie Interface utilisateur, et est un ensemble général de routines qui "
-"demandent une saisie à l'utilisateur pour des informations qui sont basées "
-"sur du texte. À travers des méthodes écrites par l'utilisateur (voir L<"
-"ui_create(3)|ui_create(3)>), les demandes peuvent êtres faites de n'importe "
-"quelles façons imaginables, en texte brut, à "
-"travers des boites de dialogue ou sur un téléphone portable."
 
 #. type: textblock
 #: C/crypto/ui.pod:76
@@ -8724,10 +6757,6 @@
 "reference to a UI_METHOD, which is an ordered vector of functions that carry "
 "out the actual prompting."
 msgstr ""
-"Toutes les fonctions fonctionnent dans le contexte du type d'UI. Ce contexte "
-"contient toutes les informations nécessaires pour faire une demande de saisie "
-"de façon correcte, ainsi qu'une référence vers un UI_METHOD qui est un "
-"vecteur de fonctions ordonné qui transporte les demandes de saisies."
 
 #. type: textblock
 #: C/crypto/ui.pod:81
@@ -8739,13 +6768,6 @@
 "data, but other methods might.  Finally, use UI_process()  to actually "
 "perform the prompting and UI_get0_result() to find the result to the prompt."
 msgstr ""
-"La première chose à faire est de créer une UI avec UI_new() ou "
-"UI_new_method(), puis d'ajouter des informations avec les fonctions UI_add ou "
-"UI_dup. Les données définies comme aléatoires par l'utilisateur peuvent aussi "
-"êtres passées aux méthodes sous-jacentes à travers des appels à "
-"UI_add_user_data. L'UI par défaut ne prend pas en compte ces données, mais "
-"d'autres méthodes pourraient. Finalement, utilisez UI_process() pour faire la "
-"demande d'entrée et UI_get0_result() pour avoir le résultat de cette demande."
 
 #. type: textblock
 #: C/crypto/ui.pod:89
@@ -8755,15 +6777,11 @@
 "and UI_dup functions, and has to be used to get the corresponding result "
 "with UI_get0_result()."
 msgstr ""
-"Une UI peut contenir plusieurs demandes de saisie qui sont effectuées dans "
-"chaque séquence. Chaque demande reçoit un numéro d'indexation, qui est "
-"renvoyé par les fonctions UI_add et UI_dup, et qui doit être utilisé par "
-"UI_get0_result() pour obtenir le résultat correspondant."
 
 #. type: textblock
 #: C/crypto/ui.pod:94
 msgid "The functions are as follows:"
-msgstr "Les fonctions sont comme suit :"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/ui.pod:96
@@ -8771,8 +6789,6 @@
 "UI_new() creates a new UI using the default UI method.  When done with this "
 "UI, it should be freed using UI_free()."
 msgstr ""
-"UI_new() crée une nouvelle méthode d'UI. Quand l'utilisation de cette UI est "
-"terminée, elle doit être libérée avec UI_free()."
 
 #. type: textblock
 #: C/crypto/ui.pod:99
@@ -8780,9 +6796,6 @@
 "UI_new_method() creates a new UI using the given UI method.  When done with "
 "this UI, it should be freed using UI_free()."
 msgstr ""
-"UI_new_method() crée une nouvelle UI en utilisant la méthode UI donnée. "
-"Quand celle-ci a fini avec cette UI, elle doit être libérée en utilisant "
-"UI_free()."
 
 #. type: textblock
 #: C/crypto/ui.pod:102
@@ -8792,10 +6805,6 @@
 "machine/OS dependent part of OpenSSL and normally generates the most "
 "problems when porting."
 msgstr ""
-"UI_OpenSSL() renvoie la méthode construite dans l'UI (note : pas celle par "
-"défaut puisque celui-ci peut être modifié. Voir plus loin). Cette méthode est "
-"la plus dépendante de la machine et OS d'OpenSSL et génère normalement le plus "
-"de problèmes de portabilité."
 
 #. type: textblock
 #: C/crypto/ui.pod:107
@@ -8803,9 +6812,6 @@
 "UI_free() removes a UI from memory, along with all other pieces of memory "
 "that's connected to it, like duplicated input strings, results and others."
 msgstr ""
-"UI_free() supprime une UI de la mémoire, ainsi que tous morceaux de mémoire "
-"qui sont connectés à celle-ci, comme des copies de chaînes de caractères "
-"d'entrées, des résultats et autres."
 
 #. type: textblock
 #: C/crypto/ui.pod:110
@@ -8819,14 +6825,6 @@
 "the result buffer of the input string that it's supposed to verify, or "
 "verification will fail."
 msgstr ""
-"UI_add_input_string() et UI_add_verify_string() ajoutent une demande à l'UI, "
-"ainsi que des drapeaux, un tampon de résultat et les tailles minimales et "
-"maximales désirées pour le résultat. Les informations fournies sont utilisées "
-"pour demander des informations, par exemple un mot de passe, et pour vérifier "
-"le mot de passe (c.-à-d. l'utilisateur rentre deux fois le mot de passe et "
-"l'égalité est vérifiée). UI_add_verify_string() prend un argument en plus, "
-"celui-ci devrait être un pointeur vers le tampon de retour de la chaîne de "
-"caractères de sortie qu'il est supposé vérifier, ou la vérification échouera."
 
 #. type: textblock
 #: C/crypto/ui.pod:119
@@ -8838,13 +6836,6 @@
 "being the descriptive text (given through the I<prompt> argument) and one "
 "describing the possible answers (given through the I<action_desc> argument)."
 msgstr ""
-"UI_add_input_boolean() ajoute une demande d'entrée à l'UI qui doit avoir une "
-"réponse sous forme d'un booléen, avec un seul caractère pour oui et un "
-"caractère différent pour non. Un ensemble de caractères qui peuvent être "
-"utilisés pour annuler cette demande est aussi donné. La demande elle-même "
-"est divisée en deux parties, la première étant la description textuelle "
-"(donnée par l'argument I<prompt>) et la seconde décrivant les réponses "
-"possibles (données par l'argument I<action_desc>)."
 
 #. type: textblock
 #: C/crypto/ui.pod:126
@@ -8855,12 +6846,6 @@
 "builtin method, there's no technical difference between them.  Other methods "
 "may make a difference between them, however."
 msgstr ""
-"UI_add_info_string() et UI_add_error_string() ajoutent les chaînes de "
-"caractères qui sont affichées au même moment que la demande de saisie dans le "
-"cas de demande d'informations supplémentaire ou pour afficher un message "
-"d'erreur. La différence entre les deux n'est que conceptuelle. Avec la "
-"méthode interne, il n'y a pas de différence technique entres elles. Mais il "
-"se peut que d'autres méthodes puissent produire une différence."
 
 #. type: textblock
 #: C/crypto/ui.pod:132
@@ -8871,12 +6856,6 @@
 "UI_INPUT_FLAG_DEFAULT_PWD, which means that a default password of some sort "
 "will be used (completely depending on the application and the UI method)."
 msgstr ""
-"Les drapeaux gérés actuellement sont UI_INPUT_FLAG_ECHO, qui est "
-"applicable à UI_add_input_string() et qui fera s'afficher les réponses de "
-"l'utilisateur (quand un mot de passe est demandé, ce drapeau ne doit "
-"évidemment pas être utilisé), et UI_INPUT_FLAG_DEFAULT_PWD, qui indique qu'un "
-"mot de passe par défaut va être utilisé (cela dépend entièrement de "
-"l'application et de la méthode d'UI)."
 
 #. type: textblock
 #: C/crypto/ui.pod:139
@@ -8886,9 +6865,6 @@
 "their UI_add counterparts, except that they make their own copies of all "
 "strings."
 msgstr ""
-"UI_dup_input_string(), UI_dup_verify_string(), UI_dup_input_boolean(), "
-"UI_dup_info_string() et UI_dup_error_string() sont identiques à leurs "
-"contreparties UI_add, sauf qu'ils font leurs propres copies des chaînes."
 
 #. type: textblock
 #: C/crypto/ui.pod:144
@@ -8901,14 +6877,6 @@
 "foo.key:\".  Other methods may create whatever string and may include "
 "encodings that will be processed by the other method functions."
 msgstr ""
-"UI_construct_prompt() est une fonction d'aide qui est utilisée pour créer une "
-"demande d'entrée de texte pour deux morceaux d'information : une description "
-"et un nom. Le constructeur par défaut (s'il n'y en a aucun de fourni par la "
-"méthode utilisée) crée une chaîne de caractères « Enter I<description> for I<"
-"name> : ». Avec la description « pass phrase » et le nom de fichier "
-"« foo.key », qui devient « Enter pass phrase for foo.key : ». D'autres "
-"méthodes peuvent créer n'importe quelle chaîne de caractères et peuvent inclure "
-"des encodages qui seront traités par d'autres fonctions de méthodes."
 
 #. type: textblock
 #: C/crypto/ui.pod:153
@@ -8918,10 +6886,6 @@
 "several calls to this function doesn't add data, it replaces the previous "
 "blob with the one given as argument."
 msgstr ""
-"UI_add_user_data() ajoute un morceau de mémoire pour la méthode à utiliser à "
-"chaque instant. La méthode de l'UI intégrée ne prends pas cette information "
-"en compte. Notez que plusieurs appels à cette fonction n'ajoutent pas de "
-"données, elle remplace le blob précédent avec celui donné comme argument."
 
 #. type: textblock
 #: C/crypto/ui.pod:158
@@ -8929,8 +6893,6 @@
 "UI_get0_user_data() retrieves the data that has last been given to the UI "
 "with UI_add_user_data()."
 msgstr ""
-"UI_get0_user_data() récupère les données qui ont été données à l'UI avec "
-"UI_add_user_data()."
 
 #. type: textblock
 #: C/crypto/ui.pod:161
@@ -8938,8 +6900,6 @@
 "UI_get0_result() returns a pointer to the result buffer associated with the "
 "information indexed by I<i>."
 msgstr ""
-"UI_get0_result() renvoie un pointeur vers le résultat du tampon associé à "
-"l'information indexée par I<i>."
 
 #. type: textblock
 #: C/crypto/ui.pod:164
@@ -8947,8 +6907,6 @@
 "UI_process() goes through the information given so far, does all the "
 "printing and prompting and returns."
 msgstr ""
-"UI_process() parcourt l'information donnée jusque-là, fait tout "
-"les affichages et requêtes et renvoie."
 
 #. type: textblock
 #: C/crypto/ui.pod:167
@@ -8959,45 +6917,37 @@
 "UI_CTRL_IS_REDOABLE, which returns a flag saying if the used UI can be used "
 "again or not."
 msgstr ""
-"UI_ctrl() ajoute un contrôle supplémentaire pour l'auteur de l'application. "
-"Pour l'instant, elle comprend deux commandes : UI_CTRL_PRINT_ERRORS, qui "
-"demande à UI_process() d'afficher la pile d'erreurs d'OpenSSL comme partie du "
-"traitement de l'UI, et UI_CTRL_IS_REDOABLE qui renvoie un drapeau exprimant "
-"la réutilisabilité de l'UI."
 
 #. type: textblock
 #: C/crypto/ui.pod:173
 msgid "UI_set_default_method() changes the default UI method to the one given."
 msgstr ""
-"UI_set_default_method() change la méthode par défaut de l'UI à celle donnée."
 
 #. type: textblock
 #: C/crypto/ui.pod:175
 msgid ""
 "UI_get_default_method() returns a pointer to the current default UI method."
 msgstr ""
-"UI_get_default_method() renvoie un pointeur vers la méthode par défaut "
-"courante de l'UI."
 
 #. type: textblock
 #: C/crypto/ui.pod:177
 msgid "UI_get_method() returns the UI method associated with a given UI."
-msgstr "UI_get_method() renvoie la méthode d'UI associée avec une UI donnée."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/ui.pod:179
 msgid "UI_set_method() changes the UI method associated with a given UI."
-msgstr "UI_set_method() change la méthode d'UI associée avec une UI donnée."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/ui.pod:183
 msgid "L<ui_create(3)|ui_create(3)>, L<ui_compat(3)|ui_compat(3)>"
-msgstr "L<ui_create(3)|ui_create(3)>, L<ui_compat(3)|ui_compat(3)>"
+msgstr ""
 
 #. type: textblock
 #: C/crypto/ui.pod:187
 msgid "The UI section was first introduced in OpenSSL 0.9.7."
-msgstr "La partie UI a été introduite dans la version 0.9.7 d'OpenSSL."
+msgstr ""
 
 #. type: textblock
 #: C/crypto/ui.pod:191 C/crypto/ui_compat.pod:54
@@ -9046,13 +6996,11 @@
 #, no-wrap
 msgid ""
 " int des_read_pw_string(char *buf,int length,const char *prompt,int verify);\n"
-" int des_read_pw(char *buf,char *buff,int size,const char *prompt,int "
-"verify);\n"
+" int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);\n"
 "\n"
 msgstr ""
 " int des_read_pw_string(char *buf,int length,const char *prompt,int verify);\n"
-" int des_read_pw(char *buf,char *buff,int size,const char *prompt,int "
-"verify);\n"
+" int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);\n"
 "\n"
 
 #. type: textblock
@@ -9109,7 +7057,7 @@
 "the DES_string_to_2key() function."
 msgstr ""
 "B<des_read_password>() appelle B<des_read_pw>() et convertit le mot de passe "
-"en clef DES en appelant S<B<DES_string_to_key>()> ; B<des_read_2password>() "
+"en clef DES en appelant S<B<DES_string_to_key>() ;> B<des_read_2password>() "
 "opère de la même façon que B<des_read_password>() à part qu'elle génère deux "
 "clefs en utilisant la fonction B<DES_string_to_2key>()."
 
@@ -9126,5 +7074,3 @@
 #: C/crypto/ui_compat.pod:50
 msgid "L<ui(3)|ui(3)>, L<ui_create(3)|ui_create(3)>"
 msgstr "L<ui(3)|ui(3)>, L<ui_create(3)|ui_create(3)>"
-
-

Reply to: