Translate the second part of the gettext module

This commit is contained in:
François Magimel 2017-10-04 22:10:20 +02:00 committed by Julien Palard
parent 374435a39f
commit 142fb6735c

View File

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n" "Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n" "POT-Creation-Date: 2017-08-01 13:21+0200\n"
"PO-Revision-Date: 2017-09-23 21:26+0200\n" "PO-Revision-Date: 2017-10-04 20:41+0200\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -36,11 +36,11 @@ msgid ""
"messages for running under different natural languages." "messages for running under different natural languages."
msgstr "" msgstr ""
"Le module :mod:`gettext` fournit un service d'internationalisation (I18N) et " "Le module :mod:`gettext` fournit un service d'internationalisation (I18N) et "
"de localisation linguistique (L10N) pour vos modules et applications Python. " "de localisation linguistique (L10N) pour vos modules et applications "
"Il est compatible avec l'API du catalogue de messages GNU `gettext` et à un " "Python. Il est compatible avec l'API du catalogue de messages GNU `gettext` "
"plus haut niveau, avec l'API basée sur les classes qui serait peut-être plus " "et à un plus haut niveau, avec l'API basée sur les classes qui serait peut-"
"adaptée aux fichiers Python. L'interface décrite ci-dessous vous permet " "être plus adaptée aux fichiers Python. L'interface décrite ci-dessous vous "
"d'écrire les textes de vos modules et applications dans une langue " "permet d'écrire les textes de vos modules et applications dans une langue "
"naturelle, puis de fournir un catalogue de traductions pour les lancer " "naturelle, puis de fournir un catalogue de traductions pour les lancer "
"ensuite dans d'autres langues naturelles." "ensuite dans d'autres langues naturelles."
@ -82,7 +82,7 @@ msgid ""
"`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` " "`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` "
"respectively." "respectively."
msgstr "" msgstr ""
"Lie le *domain* au répertoire *localedir* des localisations. Plus " "Lie *domain* au répertoire *localedir* des localisations. Plus "
"spécifiquement, :mod:`gettext` va chercher les fichiers binaires :file:`.mo` " "spécifiquement, :mod:`gettext` va chercher les fichiers binaires :file:`.mo` "
"pour un domaine donné, en utilisant le chemin suivant (sous Unix) : :file:" "pour un domaine donné, en utilisant le chemin suivant (sous Unix) : :file:"
"`localedir/language/LC_MESSAGES/domain.mo`, où *language* est contenu " "`localedir/language/LC_MESSAGES/domain.mo`, où *language* est contenu "
@ -104,7 +104,7 @@ msgid ""
"func:`ldngettext` functions. If *codeset* is omitted, then the current " "func:`ldngettext` functions. If *codeset* is omitted, then the current "
"binding is returned." "binding is returned."
msgstr "" msgstr ""
"Lie le *domain* à *codeset*, en changeant l'encodage des chaînes d'octets " "Lie *domain* à *codeset*, en changeant l'encodage des chaînes d'octets "
"retournées par les fonctions :func:`lgettext`, :func:`ldgettext`, :func:" "retournées par les fonctions :func:`lgettext`, :func:`ldgettext`, :func:"
"`lngettext` et :func:`ldngettext`. Si *codeset* n'est pas renseigné, alors " "`lngettext` et :func:`ldngettext`. Si *codeset* n'est pas renseigné, alors "
"le lien actuel est renvoyé." "le lien actuel est renvoyé."
@ -115,8 +115,8 @@ msgid ""
"the current global domain is returned, otherwise the global domain is set to " "the current global domain is returned, otherwise the global domain is set to "
"*domain*, which is returned." "*domain*, which is returned."
msgstr "" msgstr ""
"Change ou interroge le domaine global actuel. Si *domain* vaut ``None``, " "Change ou interroge le domaine global actuel. Si *domain* vaut ``None``, "
"alors le domaine global actuel est renvoyé. Sinon, le domaine global est " "alors le domaine global actuel est renvoyé. Sinon, le domaine global est "
"positionné à *domain*, puis renvoyé." "positionné à *domain*, puis renvoyé."
#: ../Doc/library/gettext.rst:66 #: ../Doc/library/gettext.rst:66
@ -142,8 +142,8 @@ msgid ""
"return *singular* if *n* is 1; return *plural* otherwise." "return *singular* if *n* is 1; return *plural* otherwise."
msgstr "" msgstr ""
"Comme :func:`gettext`, mais prend en compte les formes au pluriel. Si une " "Comme :func:`gettext`, mais prend en compte les formes au pluriel. Si une "
"traduction a été trouvée, la forme au pluriel est appliquée à *n* et le " "traduction a été trouvée, utilise la formule pour trouver le pluriel à *n* "
"message généré est renvoyé (quelques langues ont plus de deux formes au " "et renvoie le message généré (quelques langues ont plus de deux formes au "
"pluriel). Si aucune traduction n'a été trouvée, renvoie *singular* si *n* " "pluriel). Si aucune traduction n'a été trouvée, renvoie *singular* si *n* "
"vaut 1, *plural* sinon." "vaut 1, *plural* sinon."
@ -156,8 +156,12 @@ msgid ""
"precise syntax to be used in :file:`.po` files and the formulas for a " "precise syntax to be used in :file:`.po` files and the formulas for a "
"variety of languages." "variety of languages."
msgstr "" msgstr ""
"La forme au pluriel est récupérée dans l'entête du catalogue. C'est une " "La formule pour trouver le pluriel est récupérée dans l'entête du "
"expression en C ou en Python qui a une variable *n* ; l'expression " "catalogue. C'est une expression en C ou en Python qui a une variable libre "
"*n* et qui évalue l'index du pluriel dans le catalogue. Voir `la "
"documentation de GNU gettext <https://www.gnu.org/software/gettext/manual/"
"gettext.html>`__ pour la syntaxe précise à utiliser dans les fichiers :file:"
"`.po` et pour les formules dans différents langues."
#: ../Doc/library/gettext.rst:93 #: ../Doc/library/gettext.rst:93
msgid "" msgid ""
@ -211,7 +215,7 @@ msgstr ""
#: ../Doc/library/gettext.rst:122 #: ../Doc/library/gettext.rst:122
msgid "Here's an example of typical usage for this API::" msgid "Here's an example of typical usage for this API::"
msgstr "Voici un exemple classique d'utilisation de cette API ::" msgstr "Voici un exemple classique d'utilisation de cette API : ::"
#: ../Doc/library/gettext.rst:133 #: ../Doc/library/gettext.rst:133
msgid "Class-based API" msgid "Class-based API"
@ -247,7 +251,7 @@ msgstr ""
"file:`mo`. Il prend en entrée un *domain*, tout comme la fonction :func:" "file:`mo`. Il prend en entrée un *domain*, tout comme la fonction :func:"
"`textdomain`. Le paramètre optionnel *localedir* est le même que celui de :" "`textdomain`. Le paramètre optionnel *localedir* est le même que celui de :"
"func:`bindtextdomain`. Le paramètre optionnel *langages* est une liste de " "func:`bindtextdomain`. Le paramètre optionnel *langages* est une liste de "
"chaîne de caractères correspondants au code d'une langue." "chaînes de caractères correspondants au code d'une langue."
#: ../Doc/library/gettext.rst:151 #: ../Doc/library/gettext.rst:151
msgid "" msgid ""
@ -369,7 +373,7 @@ msgid ""
"function, like this::" "function, like this::"
msgstr "" msgstr ""
"Habituellement, la fonction :func:`_` est appliquée aux chaînes de " "Habituellement, la fonction :func:`_` est appliquée aux chaînes de "
"caractères qui doivent être traduites comme suit ::" "caractères qui doivent être traduites comme suit : ::"
#: ../Doc/library/gettext.rst:210 #: ../Doc/library/gettext.rst:210
msgid "" msgid ""
@ -378,7 +382,7 @@ msgid ""
"application." "application."
msgstr "" msgstr ""
"Pour plus de confort, il vaut mieux positionner la fonction :func:`_` dans " "Pour plus de confort, il vaut mieux positionner la fonction :func:`_` dans "
"l'espace de noms natif à Python pour la rendre plus accessible dans les " "l'espace de noms natif à Python pour la rendre plus accessible dans tous les "
"modules de votre application." "modules de votre application."
#: ../Doc/library/gettext.rst:216 #: ../Doc/library/gettext.rst:216
@ -394,10 +398,10 @@ msgid ""
"classes. Here are the methods of :class:`NullTranslations`:" "classes. Here are the methods of :class:`NullTranslations`:"
msgstr "" msgstr ""
"Les classes de traduction implémentent le fait de passer d'une chaîne de " "Les classes de traduction implémentent le fait de passer d'une chaîne de "
"caractères du fichier original notée comme à traduire à la traduction de " "caractères du fichier original à traduire à la traduction de celle-ci. La "
"celle-ci. La classe de base utilisée est :class:`NullTranslations`. C'est " "classe de base utilisée est :class:`NullTranslations`. C'est l'interface de "
"l'interface de base à utiliser lorsque vous souhaitez écrire vos propres " "base à utiliser lorsque vous souhaitez écrire vos propres classes "
"classes spécifiques à la traduction. Voici les méthodes de :class:" "spécifiques à la traduction. Voici les méthodes de :class:"
"`NullTranslations` :" "`NullTranslations` :"
#: ../Doc/library/gettext.rst:227 #: ../Doc/library/gettext.rst:227
@ -408,11 +412,11 @@ msgid ""
"through :meth:`add_fallback`. It then calls ``self._parse(fp)`` if *fp* is " "through :meth:`add_fallback`. It then calls ``self._parse(fp)`` if *fp* is "
"not ``None``." "not ``None``."
msgstr "" msgstr ""
"Prends un paramètre optionnel un :term:`file object` *fp*, qui est ignoré " "Prend un paramètre optionnel un :term:`file object` *fp*, qui est ignoré par "
"par la classe de base. Initialise les variables d'instance \"protégées\" " "la classe de base. Initialise les variables d'instance \"protégées\" "
"*_info* et *_chardet*, définies par des classes dérivées, tout comme " "*_info* et *_chardet*, définies par des classes dérivées, tout comme "
"*_fallback* qui est définie au travers de :meth:`add_fallback`. Puis ppelle " "*_fallback* qui est définie au travers de :meth:`add_fallback`. Puis "
"``self._parse(fp)`` si *fp* ne vaut pas ``None``." "appelle ``self._parse(fp)`` si *fp* ne vaut pas ``None``."
#: ../Doc/library/gettext.rst:235 #: ../Doc/library/gettext.rst:235
msgid "" msgid ""
@ -422,8 +426,8 @@ msgid ""
"parse your format." "parse your format."
msgstr "" msgstr ""
"Cette méthode, non exécutée dans la classe de base, prend en paramètre un " "Cette méthode, non exécutée dans la classe de base, prend en paramètre un "
"objet fichier *fp* et lit les données de ce dernier. Si vous avez un format " "objet fichier *fp* et lit les données de ce dernier. Si vous avez un "
"de fichier du catalogue de messages non pris en charge, vous devriez " "catalogue de messages dont le format n'est pas pris en charge, vous devriez "
"surcharger cette méthode pour analyser votre format." "surcharger cette méthode pour analyser votre format."
#: ../Doc/library/gettext.rst:243 #: ../Doc/library/gettext.rst:243
@ -432,12 +436,17 @@ msgid ""
"translation object should consult the fallback if it cannot provide a " "translation object should consult the fallback if it cannot provide a "
"translation for a given message." "translation for a given message."
msgstr "" msgstr ""
"Ajoute *fallback* comme objet de substitution pour l'objet de traduction "
"courant. Un objet de traduction devrait interroger cet objet de "
"substitution s'il ne peut fournir une traduction pour un message donné."
#: ../Doc/library/gettext.rst:250 #: ../Doc/library/gettext.rst:250
msgid "" msgid ""
"If a fallback has been set, forward :meth:`.gettext` to the fallback. " "If a fallback has been set, forward :meth:`.gettext` to the fallback. "
"Otherwise, return *message*. Overridden in derived classes." "Otherwise, return *message*. Overridden in derived classes."
msgstr "" msgstr ""
"Si un objet de substitution a été défini, transmet :meth:`.gettext` à celui-"
"ci. Sinon, renvoie *message*. Surchargé dans les classes dérivées."
#: ../Doc/library/gettext.rst:256 #: ../Doc/library/gettext.rst:256
msgid "" msgid ""
@ -445,6 +454,9 @@ msgid ""
"Otherwise, return *singular* if *n* is 1; return *plural* otherwise. " "Otherwise, return *singular* if *n* is 1; return *plural* otherwise. "
"Overridden in derived classes." "Overridden in derived classes."
msgstr "" msgstr ""
"Si un objet de substitution a été défini, transmet :meth:`ngettext` à celui-"
"ci. Sinon, renvoie *singular* si *n* vaut 1, *plural* sinon. Surchargé "
"dans les classes dérivées."
#: ../Doc/library/gettext.rst:264 #: ../Doc/library/gettext.rst:264
msgid "" msgid ""
@ -453,36 +465,46 @@ msgid ""
"encoding was explicitly set with :meth:`set_output_charset`. Overridden in " "encoding was explicitly set with :meth:`set_output_charset`. Overridden in "
"derived classes." "derived classes."
msgstr "" msgstr ""
"Équivalent de :meth:`.gettext` et :meth:`ngettext`, mais la traduction est "
"renvoyée sous la forme d'une chaîne d'octets, encodée avec l'encodage du "
"système si aucun autre n'a été défini avec :meth:`set_output_charset`. "
"Surchargé dans les classes dérivées."
#: ../Doc/library/gettext.rst:271 ../Doc/library/gettext.rst:392 #: ../Doc/library/gettext.rst:271 ../Doc/library/gettext.rst:392
msgid "" msgid ""
"These methods should be avoided in Python 3. See the warning for the :func:" "These methods should be avoided in Python 3. See the warning for the :func:"
"`lgettext` function." "`lgettext` function."
msgstr "" msgstr ""
"L'utilisation de ces méthodes doivent être évitée en Python 3. Voir "
"l'avertissement de la fonction :func:`lgettext`."
#: ../Doc/library/gettext.rst:277 #: ../Doc/library/gettext.rst:277
msgid "Return the \"protected\" :attr:`_info` variable." msgid "Return the \"protected\" :attr:`_info` variable."
msgstr "" msgstr "Renvoie la variable \"protégée\" :attr:`_info`."
#: ../Doc/library/gettext.rst:282 #: ../Doc/library/gettext.rst:282
msgid "Return the encoding of the message catalog file." msgid "Return the encoding of the message catalog file."
msgstr "" msgstr "Renvoie l'encodage du fichier du catalogue de messages."
#: ../Doc/library/gettext.rst:287 #: ../Doc/library/gettext.rst:287
msgid "" msgid ""
"Return the encoding used to return translated messages in :meth:`.lgettext` " "Return the encoding used to return translated messages in :meth:`.lgettext` "
"and :meth:`.lngettext`." "and :meth:`.lngettext`."
msgstr "" msgstr ""
"Renvoie l'encodage utilisé par :meth:`.lgettext` et :meth:`.lngettext` pour "
"la traduction des messages."
#: ../Doc/library/gettext.rst:293 #: ../Doc/library/gettext.rst:293
msgid "Change the encoding used to return translated messages." msgid "Change the encoding used to return translated messages."
msgstr "" msgstr "Modifie l'encodage utilisé pour la traduction des messages."
#: ../Doc/library/gettext.rst:298 #: ../Doc/library/gettext.rst:298
msgid "" msgid ""
"This method installs :meth:`.gettext` into the built-in namespace, binding " "This method installs :meth:`.gettext` into the built-in namespace, binding "
"it to ``_``." "it to ``_``."
msgstr "" msgstr ""
"Cette méthode positionne :meth:`.gettext` dans l'espace de noms natif, en le "
"liant à ``_``."
#: ../Doc/library/gettext.rst:301 #: ../Doc/library/gettext.rst:301
msgid "" msgid ""
@ -491,6 +513,10 @@ msgid ""
"to :func:`_`. Supported names are ``'gettext'``, ``'ngettext'``, " "to :func:`_`. Supported names are ``'gettext'``, ``'ngettext'``, "
"``'lgettext'`` and ``'lngettext'``." "``'lgettext'`` and ``'lngettext'``."
msgstr "" msgstr ""
"Si le paramètre *names* est renseigné, celui-ci doit être une séquence "
"contenant les noms des fonctions que vous souhaitez positionner dans "
"l'espace de noms natif, en plus de :func:`_`. Les noms pris en charge sont "
"``'gettext'``, ``'ngettext'``, ``'lgettext'`` et ``'lngettext'``."
#: ../Doc/library/gettext.rst:306 #: ../Doc/library/gettext.rst:306
msgid "" msgid ""
@ -500,12 +526,20 @@ msgid ""
"localized modules should never install :func:`_`. Instead, they should use " "localized modules should never install :func:`_`. Instead, they should use "
"this code to make :func:`_` available to their module::" "this code to make :func:`_` available to their module::"
msgstr "" msgstr ""
"Notez que ce n'est là qu'un moyen parmi d'autres, quoique le plus pratique, "
"pour rendre la fonction :func:`_` accessible à votre application. Puisque "
"cela affecte toute l'application, et plus particulièrement l'espace de noms "
"natif, les modules localisés ne devraient jamais y positionner :func:`_`. "
"Au lieu de cela, ces derniers doivent plutôt utiliser le code suivant pour "
"rendre :func:`_` accessible par leurs modules : ::"
#: ../Doc/library/gettext.rst:316 #: ../Doc/library/gettext.rst:316
msgid "" msgid ""
"This puts :func:`_` only in the module's global namespace and so only " "This puts :func:`_` only in the module's global namespace and so only "
"affects calls within this module." "affects calls within this module."
msgstr "" msgstr ""
"Cela met :func:`_` dans l'espace de noms global du module uniquement et donc "
"n'affectera ses appels que dans ce module."
#: ../Doc/library/gettext.rst:321 #: ../Doc/library/gettext.rst:321
msgid "The :class:`GNUTranslations` class" msgid "The :class:`GNUTranslations` class"
@ -518,6 +552,10 @@ msgid ""
"`_parse` to enable reading GNU :program:`gettext` format :file:`.mo` files " "`_parse` to enable reading GNU :program:`gettext` format :file:`.mo` files "
"in both big-endian and little-endian format." "in both big-endian and little-endian format."
msgstr "" msgstr ""
"Le module :mod:`gettext` fournit une classe supplémentaire qui hérite de :"
"class:`NullTranslations` : :class:`GNUTranslations`. Cette classe "
"surcharge :meth:`_parse` pour permettre de lire les fichiers GNU :program:"
"`gettext` :file:`.mo` au format petit et grand boutiste."
#: ../Doc/library/gettext.rst:328 #: ../Doc/library/gettext.rst:328
msgid "" msgid ""
@ -531,18 +569,35 @@ msgid ""
"then all message ids and message strings read from the catalog are converted " "then all message ids and message strings read from the catalog are converted "
"to Unicode using this encoding, else ASCII encoding is assumed." "to Unicode using this encoding, else ASCII encoding is assumed."
msgstr "" msgstr ""
":class:`GNUTranslations` analyse les métadonnées optionnelles du catalogue "
"de traduction. Il est d'usage avec GNU :program:`gettext` d'utiliser une "
"métadonnée pour traduire la chaîne vide. Cette métadonnée est un ensemble "
"de paires de la forme ``clef: valeur`` comme définie par la :rfc:`822`, et "
"doit contenir la clef ``Project-Id-Version``. Si la clef ``Content-Type`` "
"est trouvée dans une métadonnée, alors la propriété ``charset`` (jeu de "
"caractères) est utilisée pour initialiser la variable d'instance \"protégée"
"\" :attr:`_charset`, sinon cette dernière est positionnée à ``None``. Si "
"l'encodage du jeu de caractères est spécifié, tous les messages "
"(identifiants et chaînes de caractères) lus depuis le catalogue sont "
"convertis en chaînes Unicode via cet encodage, ou via l'encodage ASCII si "
"non renseigné."
#: ../Doc/library/gettext.rst:338 #: ../Doc/library/gettext.rst:338
msgid "" msgid ""
"Since message ids are read as Unicode strings too, all :meth:`*gettext` " "Since message ids are read as Unicode strings too, all :meth:`*gettext` "
"methods will assume message ids as Unicode strings, not byte strings." "methods will assume message ids as Unicode strings, not byte strings."
msgstr "" msgstr ""
"Et puisque les identifiants des messages sont également lus comme des "
"chaînes Unicode, toutes les méthodes :meth:`*gettext` les considéreront "
"ainsi, et pas comme des chaînes d'octets."
#: ../Doc/library/gettext.rst:341 #: ../Doc/library/gettext.rst:341
msgid "" msgid ""
"The entire set of key/value pairs are placed into a dictionary and set as " "The entire set of key/value pairs are placed into a dictionary and set as "
"the \"protected\" :attr:`_info` instance variable." "the \"protected\" :attr:`_info` instance variable."
msgstr "" msgstr ""
"La totalité des paires clef / valeur est insérée dans un dictionnaire et "
"représente la variable d'instance \"protégée\" :attr:`_info`."
#: ../Doc/library/gettext.rst:344 #: ../Doc/library/gettext.rst:344
msgid "" msgid ""
@ -550,11 +605,17 @@ msgid ""
"is unexpected, or if other problems occur while reading the file, " "is unexpected, or if other problems occur while reading the file, "
"instantiating a :class:`GNUTranslations` class can raise :exc:`OSError`." "instantiating a :class:`GNUTranslations` class can raise :exc:`OSError`."
msgstr "" msgstr ""
"Si le nombre magique du fichier :file:`.mo` est invalide, le numéro de la "
"version majeure inattendu, ou si d'autres problèmes apparaissent durant la "
"lecture du fichier, instancier une classe :class:`GNUTranslations` peut "
"lever une exception :exc:`OSError`."
#: ../Doc/library/gettext.rst:350 #: ../Doc/library/gettext.rst:350
msgid "" msgid ""
"The following methods are overridden from the base class implementation:" "The following methods are overridden from the base class implementation:"
msgstr "" msgstr ""
"Les méthodes suivantes, provenant de l'implémentation de la classe de base, "
"ont été surchargée :"
#: ../Doc/library/gettext.rst:354 #: ../Doc/library/gettext.rst:354
msgid "" msgid ""
@ -564,6 +625,11 @@ msgid ""
"fallback's :meth:`~NullTranslations.gettext` method. Otherwise, the " "fallback's :meth:`~NullTranslations.gettext` method. Otherwise, the "
"*message* id is returned." "*message* id is returned."
msgstr "" msgstr ""
"Recherche l'identifiant de *message* dans le catalogue et renvoie le message "
"de la chaîne de caractères correspondante comme une chaîne Unicode. Si "
"aucun identifiant n'a été trouvé pour *message* et qu'un substitut a été "
"défini, la recherche est transmise à la méthode :meth:`~NullTranslations."
"gettext` du substitut. Sinon, l'identifiant de *message* est renvoyé."
#: ../Doc/library/gettext.rst:363 #: ../Doc/library/gettext.rst:363
msgid "" msgid ""
@ -571,6 +637,10 @@ msgid ""
"id for purposes of lookup in the catalog, while *n* is used to determine " "id for purposes of lookup in the catalog, while *n* is used to determine "
"which plural form to use. The returned message string is a Unicode string." "which plural form to use. The returned message string is a Unicode string."
msgstr "" msgstr ""
"Effectue une recherche sur les formes plurielles de l'identifiant d'un "
"message. *singular* est utilisé pour la recherche de l'identifiant dans le "
"catalogue, alors que *n* permet de savoir quelle forme plurielle utiliser. "
"La chaîne de caractère du message renvoyée est une chaîne Unicode."
#: ../Doc/library/gettext.rst:367 #: ../Doc/library/gettext.rst:367
msgid "" msgid ""
@ -579,10 +649,14 @@ msgid ""
"ngettext` method. Otherwise, when *n* is 1 *singular* is returned, and " "ngettext` method. Otherwise, when *n* is 1 *singular* is returned, and "
"*plural* is returned in all other cases." "*plural* is returned in all other cases."
msgstr "" msgstr ""
"Si l'identifiant du message n'est pas trouvé dans le catalogue et qu'un "
"substitut a été spécifié, la requête est transmise à la méthode :meth:"
"`~NullTranslations.ngettext` du substitut. Sinon, est renvoyé *singular* "
"lorsque *n* vaut 1, *plural* dans tous les autres cas."
#: ../Doc/library/gettext.rst:372 #: ../Doc/library/gettext.rst:372
msgid "Here is an example::" msgid "Here is an example::"
msgstr "Voici un exemple ::" msgstr "Voici un exemple : ::"
#: ../Doc/library/gettext.rst:385 #: ../Doc/library/gettext.rst:385
msgid "" msgid ""
@ -591,6 +665,10 @@ msgid ""
"encoding was explicitly set with :meth:`~NullTranslations." "encoding was explicitly set with :meth:`~NullTranslations."
"set_output_charset`." "set_output_charset`."
msgstr "" msgstr ""
"Équivalent de :meth:`.gettext` et :meth:`.ngettext`, mais la traduction est "
"renvoyée sous la forme d'une chaîne d'octets, encodée avec l'encodage du "
"système si aucun autre n'a été défini avec :meth:`~NullTranslations."
"set_output_charset`."
#: ../Doc/library/gettext.rst:397 #: ../Doc/library/gettext.rst:397
msgid "Solaris message catalog support" msgid "Solaris message catalog support"
@ -615,12 +693,17 @@ msgid ""
"GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " "GNOME uses a version of the :mod:`gettext` module by James Henstridge, but "
"this version has a slightly different API. Its documented usage was::" "this version has a slightly different API. Its documented usage was::"
msgstr "" msgstr ""
"GNOME utilise une version du module :mod:`gettext` de James Henstridge, mais "
"qui a une API légèrement différente. D'après la documentation, elle "
"s'utilise ainsi : ::"
#: ../Doc/library/gettext.rst:417 #: ../Doc/library/gettext.rst:417
msgid "" msgid ""
"For compatibility with this older module, the function :func:`Catalog` is an " "For compatibility with this older module, the function :func:`Catalog` is an "
"alias for the :func:`translation` function described above." "alias for the :func:`translation` function described above."
msgstr "" msgstr ""
"Pour des raisons de compatibilité avec cet ancien module, la fonction :func:"
"`Catalog` est un alias de la fonction :func:`translation` décrite ci-dessous."
#: ../Doc/library/gettext.rst:420 #: ../Doc/library/gettext.rst:420
msgid "" msgid ""
@ -628,6 +711,9 @@ msgid ""
"supported access through a mapping API, but this appears to be unused and so " "supported access through a mapping API, but this appears to be unused and so "
"is not currently supported." "is not currently supported."
msgstr "" msgstr ""
"Une différence entre ce module et celui de Henstridge : les objets de son "
"catalogue étaient accessibles depuis un schéma de l'API, mais cela semblait "
"ne pas être utilisé et donc n'est pas pris en charge."
#: ../Doc/library/gettext.rst:426 #: ../Doc/library/gettext.rst:426
msgid "Internationalizing your programs and modules" msgid "Internationalizing your programs and modules"
@ -641,25 +727,37 @@ msgid ""
"and cultural habits. In order to provide multilingual messages for your " "and cultural habits. In order to provide multilingual messages for your "
"Python programs, you need to take the following steps:" "Python programs, you need to take the following steps:"
msgstr "" msgstr ""
"L'internationalisation (I18N) consiste à permettre à un programme de "
"recevoir des traductions dans plusieurs langues. La localisation (L10N) "
"consiste à adapter un programme à la langue et aux habitudes culturelles "
"locales, une fois celui-ci internationalisé. Afin de fournir du texte "
"multilingue à votre programme Python, les étapes suivantes sont nécessaires :"
#: ../Doc/library/gettext.rst:434 #: ../Doc/library/gettext.rst:434
msgid "" msgid ""
"prepare your program or module by specially marking translatable strings" "prepare your program or module by specially marking translatable strings"
msgstr "" msgstr ""
"préparer votre programme ou module en marquant spécifiquement les chaînes à "
"traduire"
#: ../Doc/library/gettext.rst:436 #: ../Doc/library/gettext.rst:436
msgid "" msgid ""
"run a suite of tools over your marked files to generate raw messages catalogs" "run a suite of tools over your marked files to generate raw messages catalogs"
msgstr "" msgstr ""
"lancer une suite d'outils sur les fichiers contenant des chaînes à traduire "
"pour générer des catalogues de messages brut"
#: ../Doc/library/gettext.rst:438 #: ../Doc/library/gettext.rst:438
msgid "create language specific translations of the message catalogs" msgid "create language specific translations of the message catalogs"
msgstr "" msgstr ""
"créer les traductions spécifiques à une langue des catalogues de messages"
#: ../Doc/library/gettext.rst:440 #: ../Doc/library/gettext.rst:440
msgid "" msgid ""
"use the :mod:`gettext` module so that message strings are properly translated" "use the :mod:`gettext` module so that message strings are properly translated"
msgstr "" msgstr ""
"utiliser le module :mod:`gettext` pour que les chaînes de caractères soient "
"bien traduites"
#: ../Doc/library/gettext.rst:442 #: ../Doc/library/gettext.rst:442
msgid "" msgid ""
@ -668,6 +766,10 @@ msgid ""
"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_`. " "wrapping it in ``_('...')`` --- that is, a call to the function :func:`_`. "
"For example::" "For example::"
msgstr "" msgstr ""
"Afin de préparer votre code à être traduit (I18N), vous devrez rechercher "
"toutes les chaînes de caractères de vos fichiers. À chaque chaîne de "
"caractères à traduire doit être appliqué le marqueur ``_('...')`` --- c'est-"
"à-dire en appelant la fonction :func:`_`. Par exemple : ::"
#: ../Doc/library/gettext.rst:452 #: ../Doc/library/gettext.rst:452
msgid "" msgid ""
@ -675,6 +777,8 @@ msgid ""
"candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are " "candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are "
"not." "not."
msgstr "" msgstr ""
"Dans cet exemple, la chaîne ``'writing a log message'`` est maquée comme "
"traduite, contrairement aux chaînes ``'mylog.txt'`` et ``'w'``."
#: ../Doc/library/gettext.rst:455 #: ../Doc/library/gettext.rst:455
msgid "" msgid ""
@ -688,6 +792,16 @@ msgid ""
"available as part of his `po-utils package <https://github.com/pinard/po-" "available as part of his `po-utils package <https://github.com/pinard/po-"
"utils>`__." "utils>`__."
msgstr "" msgstr ""
"Il existe quelques outils pour extraire les chaînes de caractères destinées "
"à la traduction. Le programme d'origine GNU :program:`gettext` ne prenait "
"en charge que les codes sources en C ou C++, mais sa version étendue :"
"program:`xgettext` peut lire du code écrit dans de nombreux langages, dont "
"le Python, afin de trouver les chaînes notées comme traduisibles. `Babel "
"<http://babel.pocoo.org/>`__ est une bibliothèque en Python "
"d'internationalisation, qui inclut un script :file:`pybabel` permettant "
"d'extraire et de compiler des catalogues de messages. Le programme de "
"François Pinard, nommé :program:`xpot`, fait de même et est disponible dans "
"son `paquet po-utils <https://github.com/pinard/po-utils>`__."
#: ../Doc/library/gettext.rst:465 #: ../Doc/library/gettext.rst:465
msgid "" msgid ""
@ -701,6 +815,17 @@ msgid ""
"with GNU :program:`msgfmt`. With these two programs, you may not need the " "with GNU :program:`msgfmt`. With these two programs, you may not need the "
"GNU :program:`gettext` package to internationalize your Python applications.)" "GNU :program:`gettext` package to internationalize your Python applications.)"
msgstr "" msgstr ""
"(Python inclut également des versions en Python de ces programmes, :program:"
"`pygettext.py` et :program:`msgfmt.py`, que certaines distributions Python "
"installeront pour vous. :program:`pygettext.py` est similaire à :program:"
"`xgettext`, mais ne comprend que le code source écrit en Python et ne peut "
"prendre en charge d'autres langages de programmation tels que le C ou C++. :"
"program:`pygettext.py` possède une interface en ligne de commande similaire "
"à celle de :program:`xgettext` --- pour plus de détails sur son utilisation, "
"exécuter ``pygettext.py --help``. :program:`msgfmt.py` est compatible avec "
"GNU :program:`msgfmt`. Avec ces deux programmes, vous ne devriez pas avoir "
"besoin du paquet GNU :program:`gettext` pour internationaliser vos "
"applications en Python.)"
#: ../Doc/library/gettext.rst:477 #: ../Doc/library/gettext.rst:477
msgid "" msgid ""
@ -709,6 +834,11 @@ msgid ""
"files that contain every marked string in the source code, along with a " "files that contain every marked string in the source code, along with a "
"placeholder for the translated versions of these strings." "placeholder for the translated versions of these strings."
msgstr "" msgstr ""
":program:`xgettext`, :program:`pygettext` et d'autres outils similaires "
"génèrent des fichiers :file:`.po` représentant les catalogues de messages. "
"Il s'agit de fichiers structurés et lisibles par un être humain, qui "
"contiennent toutes les chaînes du code source marquées comme traduisible, "
"ainsi que leur traduction à utiliser."
#: ../Doc/library/gettext.rst:483 #: ../Doc/library/gettext.rst:483
msgid "" msgid ""
@ -720,6 +850,14 @@ msgid ""
"mo` files are used by the :mod:`gettext` module for the actual translation " "mo` files are used by the :mod:`gettext` module for the actual translation "
"processing at run-time." "processing at run-time."
msgstr "" msgstr ""
"Les copies de ces fichiers :file:`.po` sont ensuite remises à des êtres "
"humains qui traduisent le contenu pour chaque langue naturelle prise en "
"charge. Pour chacune des langues, ces derniers renvoient la version "
"complétée sous la forme d'un fichier :file:`<code-langue>.po` qui a été "
"compilé dans un fichier binaire :file:`.mo` représentant le catalogue "
"lisible par une machine à l'aide du programme :program:`msgfmt`. Les "
"fichiers :file:`.mo` sont utilisés par le module :mod:`gettext` pour la "
"traduction lors de l'exécution."
#: ../Doc/library/gettext.rst:492 #: ../Doc/library/gettext.rst:492
msgid "" msgid ""
@ -727,6 +865,9 @@ msgid ""
"are internationalizing a single module or your entire application. The next " "are internationalizing a single module or your entire application. The next "
"two sections will discuss each case." "two sections will discuss each case."
msgstr "" msgstr ""
"La façon dont vous utilisez le module :mod:`gettext` dans votre code dépend "
"de si vous internationalisez un seul module ou l'ensemble de votre "
"application. Les deux sections suivantes traitent chacune des cas."
#: ../Doc/library/gettext.rst:498 #: ../Doc/library/gettext.rst:498
msgid "Localizing your module" msgid "Localizing your module"
@ -738,6 +879,9 @@ msgid ""
"changes, e.g. to the built-in namespace. You should not use the GNU " "changes, e.g. to the built-in namespace. You should not use the GNU "
"``gettext`` API but instead the class-based API." "``gettext`` API but instead the class-based API."
msgstr "" msgstr ""
"Si vous localisez votre module, veillez à ne pas faire de changements "
"globaux, e.g. dans l'espace de nom natif. Vous ne devriez pas utiliser "
"l'API GNU ``gettext`` mais plutôt celle basée sur les classes."
#: ../Doc/library/gettext.rst:504 #: ../Doc/library/gettext.rst:504
msgid "" msgid ""
@ -746,6 +890,10 @@ msgid ""
"in GNU :program:`gettext` format. Here's what you would put at the top of " "in GNU :program:`gettext` format. Here's what you would put at the top of "
"your module::" "your module::"
msgstr "" msgstr ""
"Disons que votre module s'appelle \"spam\" et que les fichiers :file:`.mo` "
"de traduction dans les différentes langues naturelles soient dans :file:`/"
"usr/share/locale` au format GNU :program:`gettext`. Voici ce que vous "
"pouvez alors mettre en haut de votre module : ::"
#: ../Doc/library/gettext.rst:515 #: ../Doc/library/gettext.rst:515
msgid "Localizing your application" msgid "Localizing your application"
@ -758,18 +906,27 @@ msgid ""
"file of your application. This will let all your application-specific files " "file of your application. This will let all your application-specific files "
"just use ``_('...')`` without having to explicitly install it in each file." "just use ``_('...')`` without having to explicitly install it in each file."
msgstr "" msgstr ""
"Si vous localisez votre application, vous pouvez positionner la fonction :"
"func:`_` de manière globale dans l'espace de noms natif, généralement dans "
"le fichier principal de votre application. Cela permettra à tous les "
"fichiers de votre application de n'utiliser que ``_('...')`` sans devoir le "
"redéfinir explicitement dans chaque fichier."
#: ../Doc/library/gettext.rst:522 #: ../Doc/library/gettext.rst:522
msgid "" msgid ""
"In the simple case then, you need only add the following bit of code to the " "In the simple case then, you need only add the following bit of code to the "
"main driver file of your application::" "main driver file of your application::"
msgstr "" msgstr ""
"Dans ce cas, vous n'aurez à ajouter que le bout de code suivant au fichier "
"principal de votre application : ::"
#: ../Doc/library/gettext.rst:528 #: ../Doc/library/gettext.rst:528
msgid "" msgid ""
"If you need to set the locale directory, you can pass it into the :func:" "If you need to set the locale directory, you can pass it into the :func:"
"`install` function::" "`install` function::"
msgstr "" msgstr ""
"Si vous avez besoin de définir le dossier des localisations, vous pouvez le "
"mettre en argument de la fonction :func:`install` : ::"
#: ../Doc/library/gettext.rst:536 #: ../Doc/library/gettext.rst:536
msgid "Changing languages on the fly" msgid "Changing languages on the fly"
@ -781,6 +938,9 @@ msgid ""
"want to create multiple translation instances and then switch between them " "want to create multiple translation instances and then switch between them "
"explicitly, like so::" "explicitly, like so::"
msgstr "" msgstr ""
"Si votre programme a besoin de prendre en charge plusieurs langues en même "
"temps, vous pouvez créer plusieurs instances de traduction, puis basculer "
"entre elles de façon explicite, comme ceci : ::"
#: ../Doc/library/gettext.rst:559 #: ../Doc/library/gettext.rst:559
msgid "Deferred translations" msgid "Deferred translations"
@ -792,6 +952,10 @@ msgid ""
"Occasionally however, you need to mark strings for translation, but defer " "Occasionally however, you need to mark strings for translation, but defer "
"actual translation until later. A classic example is::" "actual translation until later. A classic example is::"
msgstr "" msgstr ""
"Dans la plupart des cas, en programmation, les chaînes de caractères sont "
"traduites à l'endroit où on les écrit. Cependant, il peut arriver que vous "
"ayez besoin de traduire une chaîne de caractères un peu plus loin. Un "
"exemple classique est : ::"
#: ../Doc/library/gettext.rst:574 #: ../Doc/library/gettext.rst:574
msgid "" msgid ""
@ -799,10 +963,12 @@ msgid ""
"translatable, but you don't actually want to translate them until they are " "translatable, but you don't actually want to translate them until they are "
"printed." "printed."
msgstr "" msgstr ""
"Ici, vous voulez marquer les chaînes de caractères de la liste ``animals`` "
"comme étant traduisibles, mais ne les traduire qu'au moment de les afficher."
#: ../Doc/library/gettext.rst:578 #: ../Doc/library/gettext.rst:578
msgid "Here is one way you can handle this situation::" msgid "Here is one way you can handle this situation::"
msgstr "" msgstr "Voici un moyen de gérer ce cas : ::"
#: ../Doc/library/gettext.rst:594 #: ../Doc/library/gettext.rst:594
msgid "" msgid ""
@ -812,6 +978,12 @@ msgid ""
"command). Take care, though if you have a previous definition of :func:`_` " "command). Take care, though if you have a previous definition of :func:`_` "
"in the local namespace." "in the local namespace."
msgstr "" msgstr ""
"Cela fonctionne car la définition factice de :func:`_` renvoie simplement la "
"chaîne de caractères passée en entrée. Et cette définition factice va "
"temporairement outrepasser toute autre définition de :func:`_` dans l'espace "
"de noms natif (jusqu'à l'utilisation de la commande :keyword:`del`). "
"Attention toutefois si vous avez déjà une autre définition de :func:`_` dans "
"l'espace de noms local."
#: ../Doc/library/gettext.rst:600 #: ../Doc/library/gettext.rst:600
msgid "" msgid ""
@ -819,10 +991,13 @@ msgid ""
"translatable to the :program:`gettext` program, because the parameter is not " "translatable to the :program:`gettext` program, because the parameter is not "
"a string literal." "a string literal."
msgstr "" msgstr ""
"À noter qu'à la deuxième utilisation de :func:`_`, \"a\" ne sera pas vue "
"comme traduisible par le programme :program:`gettext` car ce n'est pas un "
"chaîne au sens propre."
#: ../Doc/library/gettext.rst:604 #: ../Doc/library/gettext.rst:604
msgid "Another way to handle this is with the following example::" msgid "Another way to handle this is with the following example::"
msgstr "" msgstr "Voici une autre solution : ::"
#: ../Doc/library/gettext.rst:618 #: ../Doc/library/gettext.rst:618
msgid "" msgid ""
@ -835,6 +1010,14 @@ msgid ""
"totally arbitrary; it could have just as easily been :func:" "totally arbitrary; it could have just as easily been :func:"
"`MarkThisStringForTranslation`." "`MarkThisStringForTranslation`."
msgstr "" msgstr ""
"Dans ce cas, les chaînes à traduire sont identifiées avec la fonction :func:"
"`N_`, qui n'entre pas en conflit avec définition de :func:`_`. Cependant, "
"il faudra apprendre à votre programme d'extraction de messages à rechercher "
"les chaînes de caractères à traduire parmi celles ayant le marqueur :func:"
"`N_`. :program:`xgettext`, :program:`pygettext`, ``pybabel extract`` et :"
"program:`xpot` prennent tous en charge cela grâce à l'option en ligne de "
"commande :option:`!-k`. Le choix du nom :func:`N_` ici est totalement "
"arbitraire et aurait très bien pu être :func:`MarqueurDeTraduction`."
#: ../Doc/library/gettext.rst:629 #: ../Doc/library/gettext.rst:629
msgid "Acknowledgements" msgid "Acknowledgements"
@ -846,6 +1029,9 @@ msgid ""
"previous implementations, and valuable experience to the creation of this " "previous implementations, and valuable experience to the creation of this "
"module:" "module:"
msgstr "" msgstr ""
"Les personnes suivantes ont contribué au code, ont fait des retours, ont "
"participé aux suggestions de conception et aux implémentations précédentes, "
"et ont partagé leur expérience précieuse pour la création de ce module :"
#: ../Doc/library/gettext.rst:634 #: ../Doc/library/gettext.rst:634
msgid "Peter Funk" msgid "Peter Funk"
@ -892,6 +1078,13 @@ msgid ""
"For this reason, it is always best to call :func:`bindtextdomain` with an " "For this reason, it is always best to call :func:`bindtextdomain` with an "
"explicit absolute path at the start of your application." "explicit absolute path at the start of your application."
msgstr "" msgstr ""
"Le dossier par défaut pour les localisations dépend du système : par "
"exemple, sur RedHat c'est :file:`/usr/share/locale`, mais sur Solaris c'est :"
"file:`/usr/lib/locale`. Le module :mod:`gettext` n'essaie pas de prendre en "
"charge ce paramètre système, mais utilise le dossier :file:`sys.prefix/share/"
"locale`. C'est pour cette raison qu'il est toujours préférable d'appeler :"
"func:`bindtextdomain` en donnant explicitement un chemin absolu au début de "
"votre application."
#: ../Doc/library/gettext.rst:659 #: ../Doc/library/gettext.rst:659
msgid "See the footnote for :func:`bindtextdomain` above." msgid "See the footnote for :func:`bindtextdomain` above."