8000 Traducido tutorial/controlflow.po, principalmente cambios referidos a match by dmoisset · Pull Request #1555 · python/python-docs-es · GitHub
[go: up one dir, main page]

Skip to content

Traducido tutorial/controlflow.po, principalmente cambios referidos a match #1555

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Dec 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dictionaries/tutorial_controlflow.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
subpatrones
85 changes: 75 additions & 10 deletions tutorial/controlflow.po
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cmaureirafredes@gmail.com>\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"
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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 ""
Expand Down Expand Up @@ -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 ""
Expand All @@ -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 "
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

¿por qué las comillas en sujeto?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Estoy introduciendo el término. No sé si hay una convención mejor para esto?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no hay convención, pero intentamos mantener la misma estructura, evitando comillas, asteriscos, etc.

"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`` "
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"*comodín* y nunca fracasa la coincidencia. Si ninguno de los casos ``case`` "
"*comodín* y nunca falla la coincidencia. Si ninguno de los casos ``case`` "

quizás usar falla? lo dejo a tu criterio

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El matching puede terminar en "success" o "failure" que suelo pensar como "éxito" o "fracaso" más que fallo. Igual la oración me parece rara...

"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 ""
Expand All @@ -315,13 +331,22 @@ 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 ""
"If you are using classes to structure your data you can use the class name "
"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 ""
Expand All @@ -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 ""
Expand All @@ -343,30 +374,47 @@ 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 ""
"We can add an ``if`` clause to a pattern, known as a \"guard\". If the "
"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 "
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"Podemos añadir una clausula ``if`` a un patrón, conocida como \"guarda\". Si "
"Podemos añadir una clausula ``if`` a un patrón, conocida como \"guarda\". Si "

quizás 'guardía' ?
en francés parece que va por ahí https://fr.wikipedia.org/wiki/Garde_(informatique)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En mis clases de programación funcional usábamos "guardas" para referirnos a lo equivalente en Haskell. "guardía" es una palabra que jamás vi. El término guarda (como predicado proposicional) aparece en lugares como https://es.wikipedia.org/wiki/Lenguaje_de_Comandos_Guardados .

"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 ""
"Like unpacking assignments, tuple and list patterns have exactly the same "
"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 ""
Expand All @@ -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."
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"menos del elementos, sin ligar ninguno de los demás elementos."
"menos del elementos, sin enlazar ninguno de los demás elementos."

creo que en general usar 'enlaces' en vez de 'ligar' queda mejor, sobre todo por el tema del slang en varios países :P

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

enlazar me recuerda a linking. Usar "binding" como ligada creí que era terminología común viniendo del lado matemático, como en https://es.wikipedia.org/wiki/Variable_libre_y_variable_ligada. Aparece este término en otros lugares de la documentación?


#: ../Doc/tutorial/controlflow.rst:378
msgid ""
Expand All @@ -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"
Expand Down Expand Up @@ -1157,7 +1223,6 @@ msgstr ""
"PEP 484 para más información)."

#: ../Doc/tutorial/controlflow.rst:1030
#, fuzzy
msgid ""
":term:`Annotations <function annotation>` are stored in the :attr:"
"`__annotations__` attribute of the function as a dictionary and have no "
Expand Down
0