diff --git a/library/gettext.po b/library/gettext.po index 0ec3acb3..9ec27732 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -36,11 +36,11 @@ msgid "" "messages for running under different natural languages." msgstr "" "Le module :mod:`gettext` fournit un service d'internationalisation (I18N) et " -"de localisation linguistique (L10N) pour vos modules et applications Python. " -"Il est compatible avec l'API du catalogue de messages GNU `gettext` et à un " -"plus haut niveau, avec l'API basée sur les classes qui serait peut-être plus " -"adaptée aux fichiers Python. L'interface décrite ci-dessous vous permet " -"d'écrire les textes de vos modules et applications dans une langue " +"de localisation linguistique (L10N) pour vos modules et applications " +"Python. Il est compatible avec l'API du catalogue de messages GNU `gettext` " +"et à un plus haut niveau, avec l'API basée sur les classes qui serait peut-" +"être plus adaptée aux fichiers Python. L'interface décrite ci-dessous vous " +"permet d'écrire les textes de vos modules et applications dans une langue " "naturelle, puis de fournir un catalogue de traductions pour les lancer " "ensuite dans d'autres langues naturelles." @@ -82,7 +82,7 @@ msgid "" "`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` " "respectively." 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` " "pour un domaine donné, en utilisant le chemin suivant (sous Unix) : :file:" "`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 " "binding is returned." 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:" "`lngettext` et :func:`ldngettext`. Si *codeset* n'est pas renseigné, alors " "le lien actuel est renvoyé." @@ -115,8 +115,8 @@ msgid "" "the current global domain is returned, otherwise the global domain is set to " "*domain*, which is returned." msgstr "" -"Change ou interroge le domaine global actuel. Si *domain* vaut ``None``, " -"alors le domaine global actuel est renvoyé. Sinon, le domaine global est " +"Change ou interroge le domaine global actuel. Si *domain* vaut ``None``, " +"alors le domaine global actuel est renvoyé. Sinon, le domaine global est " "positionné à *domain*, puis renvoyé." #: ../Doc/library/gettext.rst:66 @@ -142,8 +142,8 @@ msgid "" "return *singular* if *n* is 1; return *plural* otherwise." msgstr "" "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 " -"message généré est renvoyé (quelques langues ont plus de deux formes au " +"traduction a été trouvée, utilise la formule pour trouver le pluriel à *n* " +"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* " "vaut 1, *plural* sinon." @@ -156,8 +156,12 @@ msgid "" "precise syntax to be used in :file:`.po` files and the formulas for a " "variety of languages." msgstr "" -"La forme au pluriel est récupérée dans l'entête du catalogue. C'est une " -"expression en C ou en Python qui a une variable *n* ; l'expression " +"La formule pour trouver le pluriel est récupérée dans l'entête du " +"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 `__ pour la syntaxe précise à utiliser dans les fichiers :file:" +"`.po` et pour les formules dans différents langues." #: ../Doc/library/gettext.rst:93 msgid "" @@ -211,7 +215,7 @@ msgstr "" #: ../Doc/library/gettext.rst:122 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 msgid "Class-based API" @@ -247,7 +251,7 @@ msgstr "" "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 :" "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 msgid "" @@ -369,7 +373,7 @@ msgid "" "function, like this::" msgstr "" "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 msgid "" @@ -378,7 +382,7 @@ msgid "" "application." msgstr "" "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." #: ../Doc/library/gettext.rst:216 @@ -394,10 +398,10 @@ msgid "" "classes. Here are the methods of :class:`NullTranslations`:" msgstr "" "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 " -"celle-ci. La classe de base utilisée est :class:`NullTranslations`. C'est " -"l'interface de base à utiliser lorsque vous souhaitez écrire vos propres " -"classes spécifiques à la traduction. Voici les méthodes de :class:" +"caractères du fichier original à traduire à la traduction de celle-ci. La " +"classe de base utilisée est :class:`NullTranslations`. C'est l'interface de " +"base à utiliser lorsque vous souhaitez écrire vos propres classes " +"spécifiques à la traduction. Voici les méthodes de :class:" "`NullTranslations` :" #: ../Doc/library/gettext.rst:227 @@ -408,11 +412,11 @@ msgid "" "through :meth:`add_fallback`. It then calls ``self._parse(fp)`` if *fp* is " "not ``None``." msgstr "" -"Prends un paramètre optionnel un :term:`file object` *fp*, qui est ignoré " -"par la classe de base. Initialise les variables d'instance \"protégées\" " +"Prend un paramètre optionnel un :term:`file object` *fp*, qui est ignoré par " +"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 " -"*_fallback* qui est définie au travers de :meth:`add_fallback`. Puis ppelle " -"``self._parse(fp)`` si *fp* ne vaut pas ``None``." +"*_fallback* qui est définie au travers de :meth:`add_fallback`. Puis " +"appelle ``self._parse(fp)`` si *fp* ne vaut pas ``None``." #: ../Doc/library/gettext.rst:235 msgid "" @@ -422,8 +426,8 @@ msgid "" "parse your format." msgstr "" "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 " -"de fichier du catalogue de messages non pris en charge, vous devriez " +"objet fichier *fp* et lit les données de ce dernier. Si vous avez un " +"catalogue de messages dont le format n'est pas pris en charge, vous devriez " "surcharger cette méthode pour analyser votre format." #: ../Doc/library/gettext.rst:243 @@ -432,12 +436,17 @@ msgid "" "translation object should consult the fallback if it cannot provide a " "translation for a given message." 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 msgid "" "If a fallback has been set, forward :meth:`.gettext` to the fallback. " "Otherwise, return *message*. Overridden in derived classes." 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 msgid "" @@ -445,6 +454,9 @@ msgid "" "Otherwise, return *singular* if *n* is 1; return *plural* otherwise. " "Overridden in derived classes." 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 msgid "" @@ -453,36 +465,46 @@ msgid "" "encoding was explicitly set with :meth:`set_output_charset`. Overridden in " "derived classes." 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 msgid "" "These methods should be avoided in Python 3. See the warning for the :func:" "`lgettext` function." 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 msgid "Return the \"protected\" :attr:`_info` variable." -msgstr "" +msgstr "Renvoie la variable \"protégée\" :attr:`_info`." #: ../Doc/library/gettext.rst:282 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 msgid "" "Return the encoding used to return translated messages in :meth:`.lgettext` " "and :meth:`.lngettext`." msgstr "" +"Renvoie l'encodage utilisé par :meth:`.lgettext` et :meth:`.lngettext` pour " +"la traduction des messages." #: ../Doc/library/gettext.rst:293 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 msgid "" "This method installs :meth:`.gettext` into the built-in namespace, binding " "it to ``_``." msgstr "" +"Cette méthode positionne :meth:`.gettext` dans l'espace de noms natif, en le " +"liant à ``_``." #: ../Doc/library/gettext.rst:301 msgid "" @@ -491,6 +513,10 @@ msgid "" "to :func:`_`. Supported names are ``'gettext'``, ``'ngettext'``, " "``'lgettext'`` and ``'lngettext'``." 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 msgid "" @@ -500,12 +526,20 @@ msgid "" "localized modules should never install :func:`_`. Instead, they should use " "this code to make :func:`_` available to their module::" 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 msgid "" "This puts :func:`_` only in the module's global namespace and so only " "affects calls within this module." 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 msgid "The :class:`GNUTranslations` class" @@ -518,6 +552,10 @@ msgid "" "`_parse` to enable reading GNU :program:`gettext` format :file:`.mo` files " "in both big-endian and little-endian format." 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 msgid "" @@ -531,18 +569,35 @@ msgid "" "then all message ids and message strings read from the catalog are converted " "to Unicode using this encoding, else ASCII encoding is assumed." 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 msgid "" "Since message ids are read as Unicode strings too, all :meth:`*gettext` " "methods will assume message ids as Unicode strings, not byte strings." 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 msgid "" "The entire set of key/value pairs are placed into a dictionary and set as " "the \"protected\" :attr:`_info` instance variable." 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 msgid "" @@ -550,11 +605,17 @@ msgid "" "is unexpected, or if other problems occur while reading the file, " "instantiating a :class:`GNUTranslations` class can raise :exc:`OSError`." 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 msgid "" "The following methods are overridden from the base class implementation:" msgstr "" +"Les méthodes suivantes, provenant de l'implémentation de la classe de base, " +"ont été surchargée :" #: ../Doc/library/gettext.rst:354 msgid "" @@ -564,6 +625,11 @@ msgid "" "fallback's :meth:`~NullTranslations.gettext` method. Otherwise, the " "*message* id is returned." 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 msgid "" @@ -571,6 +637,10 @@ msgid "" "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." 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 msgid "" @@ -579,10 +649,14 @@ msgid "" "ngettext` method. Otherwise, when *n* is 1 *singular* is returned, and " "*plural* is returned in all other cases." 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 msgid "Here is an example::" -msgstr "Voici un exemple ::" +msgstr "Voici un exemple : ::" #: ../Doc/library/gettext.rst:385 msgid "" @@ -591,6 +665,10 @@ msgid "" "encoding was explicitly set with :meth:`~NullTranslations." "set_output_charset`." 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 msgid "Solaris message catalog support" @@ -615,12 +693,17 @@ msgid "" "GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " "this version has a slightly different API. Its documented usage was::" 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 msgid "" "For compatibility with this older module, the function :func:`Catalog` is an " "alias for the :func:`translation` function described above." 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 msgid "" @@ -628,6 +711,9 @@ msgid "" "supported access through a mapping API, but this appears to be unused and so " "is not currently supported." 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 msgid "Internationalizing your programs and modules" @@ -641,25 +727,37 @@ msgid "" "and cultural habits. In order to provide multilingual messages for your " "Python programs, you need to take the following steps:" 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 msgid "" "prepare your program or module by specially marking translatable strings" msgstr "" +"préparer votre programme ou module en marquant spécifiquement les chaînes à " +"traduire" #: ../Doc/library/gettext.rst:436 msgid "" "run a suite of tools over your marked files to generate raw messages catalogs" 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 msgid "create language specific translations of the message catalogs" msgstr "" +"créer les traductions spécifiques à une langue des catalogues de messages" #: ../Doc/library/gettext.rst:440 msgid "" "use the :mod:`gettext` module so that message strings are properly translated" msgstr "" +"utiliser le module :mod:`gettext` pour que les chaînes de caractères soient " +"bien traduites" #: ../Doc/library/gettext.rst:442 msgid "" @@ -668,6 +766,10 @@ msgid "" "wrapping it in ``_('...')`` --- that is, a call to the function :func:`_`. " "For example::" 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 msgid "" @@ -675,6 +777,8 @@ msgid "" "candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are " "not." 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 msgid "" @@ -688,6 +792,16 @@ msgid "" "available as part of his `po-utils package `__." 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 " +"`__ 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 `__." #: ../Doc/library/gettext.rst:465 msgid "" @@ -701,6 +815,17 @@ msgid "" "with GNU :program:`msgfmt`. With these two programs, you may not need the " "GNU :program:`gettext` package to internationalize your Python applications.)" 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 msgid "" @@ -709,6 +834,11 @@ msgid "" "files that contain every marked string in the source code, along with a " "placeholder for the translated versions of these strings." 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 msgid "" @@ -720,6 +850,14 @@ msgid "" "mo` files are used by the :mod:`gettext` module for the actual translation " "processing at run-time." 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:`.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 msgid "" @@ -727,6 +865,9 @@ msgid "" "are internationalizing a single module or your entire application. The next " "two sections will discuss each case." 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 msgid "Localizing your module" @@ -738,6 +879,9 @@ msgid "" "changes, e.g. to the built-in namespace. You should not use the GNU " "``gettext`` API but instead the class-based API." 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 msgid "" @@ -746,6 +890,10 @@ msgid "" "in GNU :program:`gettext` format. Here's what you would put at the top of " "your module::" 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 msgid "Localizing your application" @@ -758,18 +906,27 @@ msgid "" "file of your application. This will let all your application-specific files " "just use ``_('...')`` without having to explicitly install it in each file." 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 msgid "" "In the simple case then, you need only add the following bit of code to the " "main driver file of your application::" 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 msgid "" "If you need to set the locale directory, you can pass it into the :func:" "`install` function::" 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 msgid "Changing languages on the fly" @@ -781,6 +938,9 @@ msgid "" "want to create multiple translation instances and then switch between them " "explicitly, like so::" 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 msgid "Deferred translations" @@ -792,6 +952,10 @@ msgid "" "Occasionally however, you need to mark strings for translation, but defer " "actual translation until later. A classic example is::" 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 msgid "" @@ -799,10 +963,12 @@ msgid "" "translatable, but you don't actually want to translate them until they are " "printed." 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 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 msgid "" @@ -812,6 +978,12 @@ msgid "" "command). Take care, though if you have a previous definition of :func:`_` " "in the local namespace." 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 msgid "" @@ -819,10 +991,13 @@ msgid "" "translatable to the :program:`gettext` program, because the parameter is not " "a string literal." 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 msgid "Another way to handle this is with the following example::" -msgstr "" +msgstr "Voici une autre solution : ::" #: ../Doc/library/gettext.rst:618 msgid "" @@ -835,6 +1010,14 @@ msgid "" "totally arbitrary; it could have just as easily been :func:" "`MarkThisStringForTranslation`." 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 msgid "Acknowledgements" @@ -846,6 +1029,9 @@ msgid "" "previous implementations, and valuable experience to the creation of this " "module:" 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 msgid "Peter Funk" @@ -892,6 +1078,13 @@ msgid "" "For this reason, it is always best to call :func:`bindtextdomain` with an " "explicit absolute path at the start of your application." 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 msgid "See the footnote for :func:`bindtextdomain` above."