diff --git a/tutorial/classes.po b/tutorial/classes.po index 54b2cd71..8cd689c5 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-11-20 22:15+0100\n" +"PO-Revision-Date: 2023-02-04 14:52+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/classes.rst:5 msgid "Classes" @@ -284,7 +284,6 @@ msgstr "" "les noms locaux ;" #: tutorial/classes.rst:121 -#, fuzzy msgid "" "the scopes of any enclosing functions, which are searched starting with the " "nearest enclosing scope, contain non-local, but also non-global names" @@ -306,7 +305,6 @@ msgstr "" "contenant les primitives." #: tutorial/classes.rst:126 -#, fuzzy msgid "" "If a name is declared global, then all references and assignments go " "directly to the next-to-last scope containing the module's global names. To " @@ -317,7 +315,7 @@ msgid "" "outer variable unchanged)." msgstr "" "Si un nom est déclaré comme global, alors toutes les références et " -"affectations vont directement dans la portée intermédiaire contenant les " +"affectations vont directement dans l'avant-dernière portée contenant les " "noms globaux du module. Pour pointer une variable qui se trouve en dehors de " "la portée la plus locale, vous pouvez utiliser l'instruction :keyword:" "`nonlocal`. Si une telle variable n'est pas déclarée *nonlocal*, elle est en " @@ -581,7 +579,6 @@ msgstr "" "définir une méthode spéciale nommée :meth:`__init__`, comme ceci ::" #: tutorial/classes.rst:299 -#, fuzzy msgid "" "When a class defines an :meth:`__init__` method, class instantiation " "automatically invokes :meth:`__init__` for the newly created class " @@ -1216,16 +1213,15 @@ msgid "Odds and Ends" msgstr "Trucs et astuces" #: tutorial/classes.rst:739 -#, fuzzy msgid "" "Sometimes it is useful to have a data type similar to the Pascal \"record\" " "or C \"struct\", bundling together a few named data items. The idiomatic " "approach is to use :mod:`dataclasses` for this purpose::" msgstr "" -"Il est parfois utile d'avoir un type de donnée similaire au \"record\" du " +"Il est parfois utile d'avoir un type de donnée similaire au *record* du " "Pascal ou au *struct* du C, qui regroupent ensemble quelques attributs " -"'données' nommés. La définition d'une classe vide remplit parfaitement ce " -"besoin ::" +"« données » nommés. L'approche idiomatique correspondante en Python est " +"d'utiliser des :mod:`dataclasses` ::" #: tutorial/classes.rst:759 msgid "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 89f829aa..e15812e5 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-10-18 16:08+0200\n" +"PO-Revision-Date: 2023-02-04 14:16+0100\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -280,7 +280,6 @@ msgid ":keyword:`!match` Statements" msgstr "L'instruction :keyword:`!match`" #: tutorial/controlflow.rst:253 -#, fuzzy msgid "" "A :keyword:`match` statement takes an expression and compares its value to " "successive patterns given as one or more case blocks. This is superficially " @@ -293,9 +292,11 @@ msgstr "" "L'instruction :keyword:`match` confronte la valeur d'une expression à " "plusieurs filtres successifs donnés par les instructions ``case``. " "L’instruction ``match`` peut faire penser au ``switch`` que l'on trouve dans " -"les langages C, Java, JavaScript et autres, mais elle permet aussi " -"d'extraire dans des variables des composantes de la valeur, comme les " -"éléments d'une séquence ou les attributs d'un objet." +"les langages C, Java, JavaScript et autres, mais elle ressemble plus au " +"filtrage par motif des langages Rust et Haskell. Seul le premier filtre qui " +"correspond est exécuté et elle permet aussi d'extraire dans des variables " +"des composantes de la valeur, comme les éléments d'une séquence ou les " +"attributs d'un objet." #: tutorial/controlflow.rst:261 msgid "" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 054912dd..e7df2845 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-11-11 16:52+0100\n" +"PO-Revision-Date: 2023-02-04 14:18+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/datastructures.rst:5 msgid "Data Structures" @@ -139,7 +139,6 @@ msgid "An example that uses most of the list methods::" msgstr "L'exemple suivant utilise la plupart des méthodes des listes ::" #: tutorial/datastructures.rst:123 -#, fuzzy msgid "" "You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " "that only modify the list have no return value printed -- they return the " @@ -148,7 +147,7 @@ msgid "" msgstr "" "Vous avez probablement remarqué que les méthodes qui ne font que modifier la " "liste, comme ``insert``, ``remove`` ou ``sort``, n'affichent pas de valeur " -"de retour (elles renvoient ``None``) [1]_. C'est un principe respecté par " +"de retour (elles renvoient ``None``) [#]_. C'est un principe respecté par " "toutes les structures de données muables en Python." #: tutorial/datastructures.rst:128 diff --git a/tutorial/errors.po b/tutorial/errors.po index 2a489fc9..8d0773ce 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-11-20 22:16+0100\n" +"PO-Revision-Date: 2023-02-04 14:34+0100\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/errors.rst:5 msgid "Errors and Exceptions" @@ -394,12 +394,18 @@ msgid "" "will have the exception being handled attached to it and included in the " "error message::" msgstr "" +"Si une exception non gérée se produit à l'intérieur d'une section :keyword:" +"`except`, l'exception en cours de traitement est jointe à l'exception non " +"gérée et incluse dans le message d'erreur ::" #: tutorial/errors.rst:306 msgid "" "To indicate that an exception is a direct consequence of another, the :" "keyword:`raise` statement allows an optional :keyword:`from` clause::" msgstr "" +"Pour indiquer qu'une exception est la conséquence directe d'une autre, " +"l'instruction :keyword:`raise` autorise une clause facultative :keyword:" +"`from` ::" #: tutorial/errors.rst:312 msgid "This can be useful when you are transforming exceptions. For example::" @@ -411,6 +417,8 @@ msgid "" "It also allows disabling automatic exception chaining using the ``from " "None`` idiom::" msgstr "" +"Cela permet également de désactiver le chaînage automatique des exceptions à " +"l'aide de l'idiome ``from None`` ::" #: tutorial/errors.rst:345 msgid "" @@ -627,7 +635,6 @@ msgid "Raising and Handling Multiple Unrelated Exceptions" msgstr "Levée et gestion de multiples exceptions non corrélées" #: tutorial/errors.rst:498 -#, fuzzy msgid "" "There are situations where it is necessary to report several exceptions that " "have occurred. This is often the case in concurrency frameworks, when " diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 7d18a7f2..60807ad8 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-05-24 18:30+0200\n" +"PO-Revision-Date: 2023-02-04 16:46+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/inputoutput.rst:5 msgid "Input and Output" @@ -192,16 +192,20 @@ msgid "" "expression, an equal sign, then the representation of the evaluated " "expression:" msgstr "" +"Le spécificateur ``=`` peut être utilisé pour développer une expression en " +"« texte de l'expression, un signe égal, puis la représentation de " +"l'expression évaluée » :" #: tutorial/inputoutput.rst:145 -#, fuzzy msgid "" "See :ref:`self-documenting expressions ` for more " "information on the ``=`` specifier. For a reference on these format " "specifications, see the reference guide for the :ref:`formatspec`." msgstr "" -"Pour une référence sur ces spécifications de formats, voir le guide de " -"référence pour les :ref:`formatspec`." +"Lisez :ref:`self-documenting expressions ` pour " +"davantage d'information sur le spécificateur ``=``. Pour une référence sur " +"ces spécifications de formats, voir le guide de référence pour le :ref:" +"`formatspec`." #: tutorial/inputoutput.rst:152 msgid "The String format() Method" @@ -250,13 +254,12 @@ msgstr "" "notation entre crochets ``'[]'`` pour accéder aux clés ::" #: tutorial/inputoutput.rst:192 -#, fuzzy msgid "" "This could also be done by passing the ``table`` dictionary as keyword " "arguments with the ``**`` notation. ::" msgstr "" -"Vous pouvez obtenir le même résultat en passant le tableau comme des " -"arguments nommés en utilisant la notation ``**`` ::" +"Vous pouvez obtenir le même résultat en passant le dictionnaire ``table`` " +"comme des arguments nommés en utilisant la notation ``**`` ::" #: tutorial/inputoutput.rst:199 msgid "" @@ -267,7 +270,6 @@ msgstr "" "`vars` qui renvoie un dictionnaire contenant toutes les variables locales." #: tutorial/inputoutput.rst:202 -#, fuzzy msgid "" "As an example, the following lines produce a tidily aligned set of columns " "giving integers and their squares and cubes::" @@ -634,7 +636,6 @@ msgstr "" "compliqué." #: tutorial/inputoutput.rst:478 -#, fuzzy msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " @@ -648,7 +649,7 @@ msgid "" msgstr "" "Plutôt que de passer son temps à écrire et déboguer du code permettant de " "sauvegarder des types de données compliqués, Python permet d'utiliser `JSON " -"(*JavaScript Object Notation*) `_, un format répandu de " +"(*JavaScript Object Notation*) `_, un format répandu de " "représentation et d'échange de données. Le module standard appelé :mod:" "`json` peut transformer des données hiérarchisées Python en une " "représentation sous forme de chaîne de caractères. Ce processus est nommé :" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index d85a72a9..ef7bb0da 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-11-11 17:32+0100\n" +"PO-Revision-Date: 2023-02-04 14:39+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/interpreter.rst:5 msgid "Using the Python Interpreter" @@ -111,7 +111,6 @@ msgstr "" "et exécute un *script* depuis ce fichier." #: tutorial/interpreter.rst:51 -#, fuzzy msgid "" "A second way of starting the interpreter is ``python -c command [arg] ...``, " "which executes the statement(s) in *command*, analogous to the shell's :" diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 5f98fdf3..4cbe9ddb 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-01-31 21:28+0100\n" +"PO-Revision-Date: 2023-02-04 14:11+0100\n" "Last-Translator: Fipaddict \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/introduction.rst:5 msgid "An Informal Introduction to Python" @@ -114,16 +114,15 @@ msgstr "" "tutoriel." #: tutorial/introduction.rst:72 -#, fuzzy msgid "" "Division (``/``) always returns a float. To do :term:`floor division` and " "get an integer result you can use the ``//`` operator; to calculate the " "remainder you can use ``%``::" msgstr "" -"Les divisions (``/``) donnent toujours des :class:`float`. Utilisez " -"l'opérateur ``//`` pour effectuer des divisions entières et donc obtenir un " -"résultat entier. Pour obtenir le reste d'une division entière, utilisez " -"l'opérateur ``%`` ::" +"Les divisions (``/``) donnent toujours des :class:`!float`. Utilisez " +"l'opérateur ``//`` pour effectuer une :term:`division entière` et donc " +"obtenir un résultat entier. Pour obtenir le reste d'une division entière, " +"utilisez l'opérateur ``%`` ::" #: tutorial/introduction.rst:86 msgid "" @@ -249,6 +248,10 @@ msgid "" "odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." msgstr "" +"Il existe une petite subtilité concernant les chaînes brutes : une chaîne " +"brute ne peut pas se terminer par un nombre impair de caractères ``\\`` ; " +"voir :ref:`l'entrée FAQ ` pour plus " +"d'informations et des solutions de contournement." #: tutorial/introduction.rst:197 msgid "" diff --git a/tutorial/modules.po b/tutorial/modules.po index 19b81c96..7ba17c81 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2022-11-11 17:33+0100\n" +"PO-Revision-Date: 2023-02-04 14:37+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/modules.rst:5 msgid "Modules" @@ -76,16 +76,16 @@ msgid "" msgstr "Maintenant, ouvrez un interpréteur et importez le module en tapant ::" #: tutorial/modules.rst:50 -#, fuzzy msgid "" "This does not add the names of the functions defined in ``fibo`` directly " "to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " "it only adds the module name ``fibo`` there. Using the module name you can " "access the functions::" msgstr "" -"Cela n'importe pas les noms des fonctions définies dans ``fibo`` directement " -"dans la table des symboles courants mais y ajoute simplement ``fibo``. Vous " -"pouvez donc appeler les fonctions *via* le nom du module ::" +"Les noms des fonctions définies dans ``fibo`` ne sont pas ajoutés " +"directement dans l':term:`espace de nommage ` courant (voir :ref:" +"`tut-scopes` pour plus de détails), seul le nom de module ``fibo`` est " +"ajouté. L'appel des fonctions se fait donc *via* le nom du module ::" #: tutorial/modules.rst:62 msgid "" @@ -112,7 +112,6 @@ msgstr "" "exécuté en tant que script)." #: tutorial/modules.rst:79 -#, fuzzy msgid "" "Each module has its own private namespace, which is used as the global " "namespace by all functions defined in the module. Thus, the author of a " @@ -121,8 +120,8 @@ msgid "" "know what you are doing you can touch a module's global variables with the " "same notation used to refer to its functions, ``modname.itemname``." msgstr "" -"Chaque module possède sa propre table de symboles, utilisée comme table de " -"symboles globaux par toutes les fonctions définies par le module. Ainsi " +"Chaque module possède son propre espace de nommage, utilisé comme espace de " +"nommage global par toutes les fonctions définies par le module. Ainsi " "l'auteur d'un module peut utiliser des variables globales dans un module " "sans se soucier de collisions de noms avec des variables globales définies " "par l'utilisateur du module. Cependant, si vous savez ce que vous faites, " @@ -130,7 +129,6 @@ msgstr "" "que pour accéder aux fonctions : ``nommodule.nomelement``." #: tutorial/modules.rst:86 -#, fuzzy msgid "" "Modules can import other modules. It is customary but not required to place " "all :keyword:`import` statements at the beginning of a module (or script, " @@ -140,28 +138,27 @@ msgid "" msgstr "" "Des modules peuvent importer d'autres modules. Il est courant, mais pas " "obligatoire, de ranger tous les :keyword:`import` au début du module (ou du " -"script). Les noms des modules importés sont insérés dans la table des " -"symboles globaux du module qui importe." +"script). Les noms des modules importés, s'ils sont placés au début d'un " +"module (en dehors des fonctions et des classes) sont ajoutés à l'espace de " +"nommage global du module." #: tutorial/modules.rst:91 -#, fuzzy msgid "" "There is a variant of the :keyword:`import` statement that imports names " "from a module directly into the importing module's namespace. For example::" msgstr "" "Il existe une variante de l'instruction :keyword:`import` qui importe les " -"noms d'un module directement dans la table de symboles du module qui " +"noms d'un module directement dans l'espace de nommage du module qui " "l'importe, par exemple ::" #: tutorial/modules.rst:98 -#, fuzzy msgid "" "This does not introduce the module name from which the imports are taken in " "the local namespace (so in the example, ``fibo`` is not defined)." msgstr "" "Cela n'insère pas le nom du module depuis lequel les définitions sont " -"récupérées dans la table des symboles locaux (dans cet exemple, ``fibo`` " -"n'est pas défini)." +"récupérées dans l'espace de nommage local (dans cet exemple, ``fibo`` n'est " +"pas défini)." #: tutorial/modules.rst:101 msgid "There is even a variant to import all names that a module defines::" @@ -858,15 +855,14 @@ msgid "Footnotes" msgstr "Notes" #: tutorial/modules.rst:583 -#, fuzzy msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " "execution of a module-level function definition adds the function name to " "the module's global namespace." msgstr "" "En réalité, la déclaration d'une fonction est elle-même une instruction ; " -"son exécution enregistre le nom de la fonction dans la table des symboles " -"globaux du module." +"son exécution ajoute le nom de la fonction dans l'espace de nommage global " +"du module." #~ msgid "The installation-dependent default." #~ msgstr "la valeur par défaut, dépendante de l'installation." diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 9245219f..ce00a158 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" -"PO-Revision-Date: 2021-09-25 11:32+0200\n" +"PO-Revision-Date: 2023-02-04 14:45+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.1\n" +"X-Generator: Poedit 3.2.1\n" #: tutorial/whatnow.rst:5 msgid "What Now?" @@ -42,7 +42,6 @@ msgid ":ref:`library-index`:" msgstr ":ref:`library-index` :" #: tutorial/whatnow.rst:16 -#, fuzzy msgid "" "You should browse through this manual, which gives complete (though terse) " "reference material about types, functions, and the modules in the standard " @@ -57,10 +56,9 @@ msgstr "" "bibliothèque standard. La distribution standard de Python inclut " "*énormément* de code supplémentaire. Il existe des modules pour lire les " "courriels, récupérer des documents *via* HTTP, générer des nombres " -"aléatoires, analyser les paramètres de la ligne de commande, écrire des " -"programmes CGI, compresser des données et beaucoup d'autres fonctions. Une " -"balade dans la documentation de la bibliothèque vous donnera une idée de ce " -"qui est disponible." +"aléatoires, analyser les paramètres de la ligne de commande, compresser des " +"données et beaucoup d'autres fonctions. Une balade dans la documentation de " +"la bibliothèque vous donnera une idée de ce qui est disponible." #: tutorial/whatnow.rst:24 msgid "" @@ -89,6 +87,9 @@ msgid "" "https://www.python.org: The major Python web site. It contains code, " "documentation, and pointers to Python-related pages around the web." msgstr "" +"https://www.python.org : le site principal pour Python. Il contient du code, " +"de la documentation, des liens vers d'autres sites traitant de Python " +"partout sur Internet." #: tutorial/whatnow.rst:36 msgid "https://docs.python.org: Fast access to Python's documentation." @@ -123,14 +124,12 @@ msgstr "" "\"Python Cookbook\" (O'Reilly & Associates, ISBN 0-596-00797-3)." #: tutorial/whatnow.rst:48 -#, fuzzy msgid "" "https://pyvideo.org collects links to Python-related videos from conferences " "and user-group meetings." msgstr "" -"http://www.pyvideo.org regroupe des liens vers des vidéos relatives à " -"Python, enregistrées lors de conférences ou de réunions de groupes " -"d'utilisateurs." +"https://pyvideo.org regroupe des liens vers des vidéos relatives à Python, " +"enregistrées lors de conférences ou de réunions de groupes d'utilisateurs." #: tutorial/whatnow.rst:51 msgid ""