diff --git a/dictionaries/tutorial_controlflow.txt b/dictionaries/tutorial_controlflow.txt new file mode 100644 index 0000000000..30812df6c6 --- /dev/null +++ b/dictionaries/tutorial_controlflow.txt @@ -0,0 +1 @@ +subpatrones diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index a31930b7a9..5e738357fd 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-16 21:42+0200\n" -"PO-Revision-Date: 2021-08-02 19:51+0200\n" +"PO-Revision-Date: 2021-12-08 23:12+0100\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.9.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -65,6 +66,9 @@ msgid "" "specific types or attributes, you may also find the :keyword:`!match` " "statement useful. For more details see :ref:`tut-match`." msgstr "" +"Si necesitas comparar un mismo valor con muchas constantes, o comprobar que " +"tenga un tipo o atributos específicos puede que encuentres útil la sentencia " +"keyword:`!match`. Para más detalles véase :ref:`tut-match`." #: ../Doc/tutorial/controlflow.rst:46 msgid ":keyword:`!for` Statements" @@ -170,14 +174,14 @@ msgstr "" "toma un iterable es la función :func:`sum`::" #: ../Doc/tutorial/controlflow.rst:157 -#, fuzzy msgid "" "Later we will see more functions that return iterables and take iterables as " "arguments. In chapter :ref:`tut-structures`, we will discuss in more detail " "about :func:`list`." msgstr "" -"En el capítulo :ref:`tut-structures`, discutiremos en más detalle sobre la :" -"func:`list`." +"Más adelante veremos otras funciones que aceptan iterables cómo argumentos o " +"retornan iterables. En el capítulo :ref:`tut-structures`, discutiremos en " +"más detalle sobre la :func:`list`." #: ../Doc/tutorial/controlflow.rst:164 msgid "" @@ -271,9 +275,8 @@ msgstr "" "keyword:`!pass` se ignora silenciosamente::" #: ../Doc/tutorial/controlflow.rst:251 -#, fuzzy msgid ":keyword:`!match` Statements" -msgstr "La sentencia :keyword:`pass`" +msgstr "La sentencia :keyword:`!match`" #: ../Doc/tutorial/controlflow.rst:253 msgid "" @@ -283,28 +286,41 @@ msgid "" "it can also extract components (sequence elements or object attributes) from " "the value into variables." msgstr "" +"Una sentencia match recibe una expresión y compara su valor a patrones " +"sucesivos que aparecen en uno o más bloques case. Esto es similar a grandes " +"rasgos con una sentencia switch en C, Java o JavaScript (y muchos otros " +"lenguajes), pero también es capaz de extraer componentes (elementos de una " +"secuencia o atributos de un objeto) de un valor y ponerlos en variables." #: ../Doc/tutorial/controlflow.rst:259 msgid "" "The simplest form compares a subject value against one or more literals::" msgstr "" +"La forma más simple compara un valor, el \"sujeto\", con uno o más " +"literales::" #: ../Doc/tutorial/controlflow.rst:272 msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." msgstr "" +"Observa el último bloque: el \"nombre de variable\" ``_`` funciona como un " +"*comodín* y nunca fracasa la coincidencia. Si ninguno de los casos ``case`` " +"coincide, ninguna de las ramas es ejecutada." #: ../Doc/tutorial/controlflow.rst:275 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" +"Se pueden combinar varios literales en un solo patrón usando ``|`` (\"ó\")::" #: ../Doc/tutorial/controlflow.rst:280 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" msgstr "" +"Los patrones pueden también verse como asignaciones que desempaquetan, y " +"pueden usarse para ligar variables::" #: ../Doc/tutorial/controlflow.rst:296 msgid "" @@ -315,6 +331,12 @@ msgid "" "which makes it conceptually similar to the unpacking assignment ``(x, y) = " "point``." msgstr "" +"¡Observa éste con cuidado! El primer patrón tiene dos literales y puede " +"considerarse una extensión del patrón literal que se mostró anteriormente. " +"Pero los siguientes dos patrones combinan un literal y una variable, y la " +"variable *liga* uno de los elementos del sujeto (``point``). El cuarto " +"patrón captura ambos elementos, lo que lo hace conceptualmente similar a la " +"asignación que desempaqueta ``(x, y) = point``." #: ../Doc/tutorial/controlflow.rst:303 msgid "" @@ -322,6 +344,9 @@ msgid "" "followed by an argument list resembling a constructor, but with the ability " "to capture attributes into variables::" msgstr "" +"Si estás usando clases para estructurar tus datos, puedes usar el nombre de " +"la clase seguida de una lista de argumentos similar a la de un constructor, " +"pero con la capacidad de capturar atributos en variables::" #: ../Doc/tutorial/controlflow.rst:324 msgid "" @@ -332,6 +357,12 @@ msgid "" "\"y\"), the following patterns are all equivalent (and all bind the ``y`` " "attribute to the ``var`` variable)::" msgstr "" +"Puedes usar argumentos posicionales en algunas clases incorporadas que " +"proveen un orden para sus atributos (por ej. dataclasses). También puedes " +"definir una posición especifica para los atributos de los patrones si " +"asignas en tu clase el atributo especial ``__match_args__``. Si le asignas " +"(\"x\", \"y\"), los siguientes patrones son todos equivalentes entre sí (y " +"todos ligan el atributo ``y`` a la variable ``var``)::" #: ../Doc/tutorial/controlflow.rst:335 msgid "" @@ -343,12 +374,21 @@ msgid "" "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" +"Una recomendación para leer patrones es verlos como una forma extendida de " +"lo que pondrías en el lado izquierdo de una asignación, para así entender " +"cuales variables tomarían que valores. Sólo los nombres que aparecen por si " +"solos (cómo ``var`` arriba) son asignados por una sentencia match. Nunca se " +"asigna a los nombres con puntos (como ``foo.bar``), nombres de atributos " +"(los ``x=`` e ``y=`` arriba) o nombres de clases (reconocidos por los " +"\"(...)\" junto a ellos, como ``Point`` arriba)." #: ../Doc/tutorial/controlflow.rst:342 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " "points, we could match it like this::" msgstr "" +"Los patrones pueden anidarse arbitrariamente. Por ejemplo, si tuviéramos una " +"lista corta de puntos, podríamos aplicar match así::" #: ../Doc/tutorial/controlflow.rst:357 msgid "" @@ -356,10 +396,14 @@ msgid "" "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" +"Podemos añadir una clausula ``if`` a un patrón, conocida como \"guarda\". Si " +"la guarda es falsa, ``match`` pasa a intentar el siguiente bloque case. " +"Obsérvese que la captura de valores sucede antes de que la guarda sea " +"evaluada::" #: ../Doc/tutorial/controlflow.rst:367 msgid "Several other key features of this statement:" -msgstr "" +msgstr "Algunas otras propiedades importantes de esta sentencia:" #: ../Doc/tutorial/controlflow.rst:369 msgid "" @@ -367,6 +411,10 @@ msgid "" "meaning and actually match arbitrary sequences. An important exception is " "that they don't match iterators or strings." msgstr "" +"Al igual que las asignaciones con desempaquetado, los patrones de lista o " +"tupla tienen el mismo significado y en realidad coinciden con cualquier " +"secuencia. Una excepción importante es que no coinciden ni con iteradores ni " +"con cadenas de caracteres." #: ../Doc/tutorial/controlflow.rst:373 msgid "" @@ -375,6 +423,11 @@ msgid "" "also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " "without binding the remaining items." msgstr "" +"Los patrones de secuencia soportan desempaquetado extendido: ``[x, y, " +"*otros]`` and ``(x, y, *otros)`` funcionan de manera similar a las " +"asignaciones con desempaquetado. El nombre luego de ``*`` también puede ser " +"``_``, con lo cual ``(x, y, *_)`` coincide con cualquier secuencia de al " +"menos del elementos, sin ligar ninguno de los demás elementos." #: ../Doc/tutorial/controlflow.rst:378 msgid "" @@ -383,34 +436,47 @@ msgid "" "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "also supported. (But ``**_`` would be redundant, so it not allowed.)" msgstr "" +"Los patrones de mapeo: ``{\"ancho de banda\": c, \"latencia\": l}`` capturan " +"los valores ``\"ancho de banda\"`` y ``\"latencia\"`` de un diccionario. A " +"diferencia de los patrones de secuencia, las claves adicionales en el sujeto " +"son ignoradas. Puede usarse un desempaquetado como ``**rest`` . (Aunque " +"``**_`` sería redundante, con lo cual no está permitido)" #: ../Doc/tutorial/controlflow.rst:383 msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "" +msgstr "Pueden capturarse subpatrones usando la palabra clave ``as``::" #: ../Doc/tutorial/controlflow.rst:387 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" msgstr "" +"capturará el segundo elemento de la entrada en ``p2`` (siempre y cuando la " +"entrada sea una secuencia de dos puntos)" #: ../Doc/tutorial/controlflow.rst:390 msgid "" "Most literals are compared by equality, however the singletons ``True``, " "``False`` and ``None`` are compared by identity." msgstr "" +"La mayoría de los literales se comparan por igualdad, pero los singletons " +"``True``, ``False`` y ``None`` se comparan por identidad." #: ../Doc/tutorial/controlflow.rst:393 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" msgstr "" +"En un patrón pueden usarse constantes con nombres. Los nombres deben tener " +"puntos para impedir que sean interpretados como variables a capturar::" #: ../Doc/tutorial/controlflow.rst:410 msgid "" "For a more detailed explanation and additional examples, you can look into :" "pep:`636` which is written in a tutorial format." msgstr "" +"Para una explicación más detallada y más ejemplos, puede leerse :pep:`636` " +"que está escrita en un formato de tutorial." #: ../Doc/tutorial/controlflow.rst:416 msgid "Defining Functions" @@ -1157,7 +1223,6 @@ msgstr "" "PEP 484 para más información)." #: ../Doc/tutorial/controlflow.rst:1030 -#, fuzzy msgid "" ":term:`Annotations ` are stored in the :attr:" "`__annotations__` attribute of the function as a dictionary and have no "