Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb379b4e

Browse files
committed
Merge branch '3.7' ofhttps://github.com/PyCampES/python-docs-es into claudia_dev_py37
2 parentsd19e206 +5b04cda commitb379b4e

File tree

9 files changed

+451
-270
lines changed

9 files changed

+451
-270
lines changed

‎.overrides/CONTRIBUTING.rst

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Actualmente se puede colaborar utilizando una de las dos siguientes formas que:
99
#. Utilizando el repositorio de GitHub y el editorpoedit_
1010
#. Realizando traducciones directamente en Transifex
1111

12-
1312
..note::
1413

1514
Si tienes cualquier duda, puedes enviarnos un email a docs-es@python.org.
@@ -20,14 +19,10 @@ Desde GitHub
2019

2120
#. Crea un fork delrepositorio_.
2221

23-
.. _repositorio:https://github.com/PyCampES/python-docs-es
24-
2522
..note::
2623

2724
Puedes consular la `ayuda oficial de GitHub`_, si lo deseas.
2825

29-
.. _ayuda oficial de GitHub:https://help.github.com/es/github/getting-started-with-github/fork-a-repo
30-
3126
#. Clona el repositorio::
3227

3328
git clone git@github.com:<TU-USUARIO>/python-docs-es.git
@@ -41,7 +36,7 @@ Desde GitHub
4136
git remote add upstream https://github.com/pycampes/python-docs-es.git
4237

4338
#. Crea una branch nueva en base al artículo en el que vayas a trabajar.
44-
39+
4540
git checkout -b traduccion_glosario
4641

4742
#. Mira que archivo necesita ser traducido. El siguiente comando te mostrará una lista de archivos y los porcentajes traducidos.
@@ -56,18 +51,15 @@ Desde GitHub
5651
git commit -am 'Traducido archivo {nombre de archivo}'
5752
git push origin traduccion_glosario
5853

54+
#. No olvides añadir tu nombre al archivo TRANSLATORS si no lo has hecho todavía.
55+
Los nombres se encuentran ordenados alfabéticamente por apellido.
56+
5957
#. Luego ve a tu página de GitHub y propone hacer un Pull Request
6058

6159
..note::
6260

6361
Puedes consultar la `ayuda oficial de GitHub para crear un Pull Request`_ si lo deseas.
6462

65-
.. _ayuda oficial de GitHub para crear un Pull Request:https://help.github.com/es/github/collaborating-with-issues-and-pull-requests/about-pull-requests
66-
67-
68-
.. _poedit:https://poedit.net/
69-
70-
7163

7264
Previsualizar los cambios
7365
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -100,3 +92,9 @@ Utilizando Transifex
10092
--------------------
10193

10294
ToDo.
95+
96+
97+
.. _repositorio:https://github.com/PyCampES/python-docs-es
98+
.. _ayuda oficial de GitHub:https://help.github.com/es/github/getting-started-with-github/fork-a-repo
99+
.. _ayuda oficial de GitHub para crear un Pull Request:https://help.github.com/es/github/collaborating-with-issues-and-pull-requests/about-pull-requests
100+
.. _poedit:https://poedit.net/

‎.overrides/translation-memory.rst

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
=======================
2+
Memoria de traducción
3+
=======================
4+
5+
6+
Esta página contiene la Memoria de Traducción, con todos los términos que hemos ido teniendo dudas,
7+
y coordinamos cuál era la mejor traducción dado el contexto.
8+
9+
Si quieres ver cómo se ha utilizado un término anteriormente, puedes utilizar la herramienta
10+
``find_in_po.py`` que muestra dónde se usó ese término: original y traducción lado a lado:
11+
12+
..code-block::text
13+
14+
$ python scripts/find_in_po.py docstring
15+
╒════════════════════════════════════════════════════════════════════════════════════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════╕
16+
│ The first statement of the function body can optionally be a string literal; this string │ La primera sentencia del cuerpo de la función puede ser opcionalmente una cadena de texto │
17+
│ literal is the function's documentation string, or :dfn:`docstring`. (More about docstrings │ literal; esta es la cadena de texto de documentación de la función, o :dfn:`docstring`. │
18+
│ can be found in the section :ref:`tut-docstrings`.) There are tools which use docstrings to │ (Puedes encontrar más acerca de docstrings en la sección :ref:`tut-docstrings`.). Existen │
19+
│ automatically produce online or printed documentation, or to let the user interactively browse │ herramientas que usan las ``docstrings`` para producir documentación imprimible o disponible │
20+
│ through code; it's good practice to include docstrings in code that you write, so make a habit │ en línea, o para dejar que los usuarios busquen interactivamente a través del código; es una │
21+
│ of it. │ buena práctica incluir ``docstrings`` en el código que escribes, y hacerlo un buen hábito. │
22+
├────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
23+
│ Here is an example of a multi-line docstring:: │ Este es un ejemplo de un ``docstring`` multi-línea:: │
24+
├────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
25+
│ Use docstrings. │ Usar ``docstrings``. │
26+
├────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
27+
28+
29+
Éstos son las palabras que hemos coordinado hasta el momento:
30+
31+
32+
loop
33+
Bucle. ``tutorial/controlflow.po``
34+
35+
handle exception
36+
Gestionar excepción. ``tutorial/inputoutput.po``
37+
38+
docstring
39+
docstring. ``library/idle.po``

‎TRANSLATORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
Raúl Cumplido (@raulcd)
12
Nicolás Demarchi (@gilgamezh)
23
Manuel Kaufmann (@humitos)
4+
Marco Richetta (@marcorichetta)

‎conf.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
sys.path.append(os.path.abspath('cpython/Doc'))
2222
fromconfimport*
2323

24-
version='3.7'
25-
release='3.7.7'
24+
# Call patchlevel with the proper path to get the version from
25+
# instead of hardcoding it
26+
importpatchlevel
27+
version,release=patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))
2628

2729
project='Python en Español'
2830
copyright='2001-%s, Python Software Foundation'%time.strftime('%Y')

‎scripts/find_in_po.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env python3
2+
3+
importargparse
4+
fromglobimportglob
5+
importos
6+
fromtextwrapimportfill
7+
8+
importregex
9+
importpolib
10+
fromtabulateimporttabulate
11+
12+
13+
deffind_in_po(pattern):
14+
table= []
15+
try:
16+
_,columns=os.popen("stty size","r").read().split()
17+
available_width=int(columns)//2-3
18+
except:
19+
available_width=80//2-3
20+
21+
forfileinglob("**/*.po"):
22+
pofile=polib.pofile(file)
23+
forentryinpofile:
24+
ifentry.msgstrandregex.search(pattern,entry.msgid):
25+
table.append(
26+
[
27+
fill(entry.msgid,width=available_width),
28+
fill(entry.msgstr,width=available_width),
29+
]
30+
)
31+
print(tabulate(table,tablefmt="fancy_grid"))
32+
33+
34+
defparse_args():
35+
parser=argparse.ArgumentParser(description="Find translated words.")
36+
parser.add_argument("pattern")
37+
returnparser.parse_args()
38+
39+
40+
defmain():
41+
args=parse_args()
42+
find_in_po(args.pattern)
43+
44+
45+
if__name__=="__main__":
46+
main()

‎tutorial/classes.po

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,21 @@
44
# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/
55
# Check https://github.com/PyCampES/python-docs-es/blob/3.7/TRANSLATORS to get the list of volunteers
66
#
7-
#,fuzzy
87
msgid ""
98
msgstr ""
109
"Project-Id-Version:Python 3.7\n"
1110
"Report-Msgid-Bugs-To:\n"
1211
"POT-Creation-Date:2019-05-06 11:59-0400\n"
13-
"PO-Revision-Date:YEAR-MO-DA HO:MI+ZONE\n"
14-
"Last-Translator:FULL NAME <EMAIL@ADDRESS>\n"
15-
"Language-Team:python-doc-es (https://mail.python.org/mailman3/lists/docs-es.python.org)\n"
12+
"PO-Revision-Date:2020-05-04 13:28-0300\n"
13+
"Language-Team:python-doc-es (https://mail.python.org/mailman3/lists/docs-es."
14+
"python.org)\n"
1615
"MIME-Version:1.0\n"
1716
"Content-Type:text/plain; charset=UTF-8\n"
1817
"Content-Transfer-Encoding:8bit\n"
18+
"Plural-Forms:nplurals=2; plural=(n != 1);\n"
19+
"Last-Translator:Marco Richetta <marcorichetta@gmail.com>\n"
20+
"Language:es\n"
21+
"X-Generator:Poedit 2.3\n"
1922

2023
#:../Doc/tutorial/classes.rst:5
2124
msgid"Classes"
@@ -97,7 +100,7 @@ msgstr ""
97100
"(Sin haber una terminología universalmente aceptada sobre clases, haré uso "
98101
"ocasional de términos de Smalltalk y C++. Usaría términos de Modula-3, ya "
99102
"que su semántica orientada a objetos es más cercana a Python que C++, pero "
100-
"no espero que muchos lectores hayan escuchado hablar de él)."
103+
"no espero que muchos lectores hayan escuchado hablar de él.)"
101104

102105
#:../Doc/tutorial/classes.rst:43
103106
msgid"A Word About Names and Objects"
@@ -276,22 +279,29 @@ msgstr ""
276279
#:../Doc/tutorial/classes.rst:120
277280
msgid"the innermost scope, which is searched first, contains the local names"
278281
msgstr""
282+
"el alcance más interno, que es inspeccionado primero, contiene los nombres "
283+
"locales"
279284

280285
#:../Doc/tutorial/classes.rst:121
281286
msgid""
282287
"the scopes of any enclosing functions, which are searched starting with the "
283288
"nearest enclosing scope, contains non-local, but also non-global names"
284289
msgstr""
290+
"los alcances de las funciones que encierran a la función actual, que son "
291+
"inspeccionados a partir del alcance más cercano, contienen nombres no "
292+
"locales, pero también no globales"
285293

286294
#:../Doc/tutorial/classes.rst:123
287295
msgid"the next-to-last scope contains the current module's global names"
288-
msgstr""
296+
msgstr"el penúltimo alcance contiene nombres globales del módulo actual"
289297

290298
#:../Doc/tutorial/classes.rst:124
291299
msgid""
292300
"the outermost scope (searched last) is the namespace containing built-in "
293301
"names"
294302
msgstr""
303+
"el alcance más externo (el último inspeccionado) es el espacio de nombres "
304+
"que contiene los nombres integrados"
295305

296306
#:../Doc/tutorial/classes.rst:126
297307
msgid""
@@ -719,6 +729,15 @@ msgid ""
719729
"from the instance object and the argument list, and the function object is "
720730
"called with this new argument list."
721731
msgstr""
732+
"Si todavía no entiendes como funcionan los métodos, una mirada a su "
733+
"implementación quizás pueda aclarar dudas. Cuando un atributo sin datos de "
734+
"una instancia es referenciado, la clase de la instancia es accedida. Si el "
735+
"nombre indica un atributo de clase válido que sea un objeto función, se crea "
736+
"un objeto método empaquetando (apunta a) la instancia y al objeto función, "
737+
"juntados en un objeto abstracto: este es el objeto método. Cuando el objeto "
738+
"método es llamado con una lista de argumentos, se crea una nueva lista de "
739+
"argumentos a partir del objeto instancia y la lista de argumentos. "
740+
"Finalmente el objeto función es llamado con esta nueva lista de argumentos."
722741

723742
#:../Doc/tutorial/classes.rst:403
724743
msgid"Class and Instance Variables"
@@ -1000,6 +1019,9 @@ msgid ""
10001019
"will be ``True`` only if ``obj.__class__`` is :class:`int` or some class "
10011020
"derived from :class:`int`."
10021021
msgstr""
1022+
"Usar :func:`isinstance` para verificar el tipo de una instancia: "
1023+
"``isinstance(obj, int)`` será ``True`` sólo si ``obj.__class__`` es :class:"
1024+
"`int` o alguna clase derivada de :class:`int`."
10031025

10041026
#:../Doc/tutorial/classes.rst:614
10051027
msgid""
@@ -1008,6 +1030,10 @@ msgid ""
10081030
"``issubclass(float, int)`` is ``False`` since :class:`float` is not a "
10091031
"subclass of :class:`int`."
10101032
msgstr""
1033+
"Usar :func:`issubclass` para verificar la herencia de clases: "
1034+
"``issubclass(bool, int)`` es ``True`` ya que :class:`bool` es una subclase "
1035+
"de :class:`int`. Sin embargo, ``issubclass(float, int)`` es ``False`` ya "
1036+
"que :class:`float` no es una subclase de :class:`int`."
10111037

10121038
#:../Doc/tutorial/classes.rst:624
10131039
msgid"Multiple Inheritance"
@@ -1141,6 +1167,10 @@ msgid ""
11411167
"the ``Mapping`` class and ``_MappingSubclass__update`` in the "
11421168
"``MappingSubclass`` class respectively."
11431169
msgstr""
1170+
"El ejemplo de arriba funcionaría incluso si ``MappingSubclass`` introdujera "
1171+
"un identificador ``__update`` ya que se reemplaza con ``_Mapping__update`` "
1172+
"en la clase ``Mapping`` y ``_MappingSubclass__update`` en la clase "
1173+
"``MappingSubclass`` respectivamente."
11441174

11451175
#:../Doc/tutorial/classes.rst:714
11461176
msgid""
@@ -1326,14 +1356,21 @@ msgid ""
13261356
"compact but less versatile than full generator definitions and tend to be "
13271357
"more memory friendly than equivalent list comprehensions."
13281358
msgstr""
1359+
"Algunos generadores simples pueden ser escritos de manera concisa como "
1360+
"expresiones usando una sintaxis similar a las comprensiones de listas pero "
1361+
"con paréntesis en lugar de corchetes. Estas expresiones están hechas para "
1362+
"situaciones donde el generador es utilizado de inmediato por la función que "
1363+
"lo encierra. Las expresiones generadoras son más compactas pero menos "
1364+
"versátiles que las definiciones completas de generadores y tienden a ser más "
1365+
"amigables con la memoria que sus comprensiones de listas equivalentes."
13291366

13301367
#:../Doc/tutorial/classes.rst:893
13311368
msgid"Examples::"
13321369
msgstr"Ejemplos::"
13331370

13341371
#:../Doc/tutorial/classes.rst:917
13351372
msgid"Footnotes"
1336-
msgstr""
1373+
msgstr"Notas al pie"
13371374

13381375
#:../Doc/tutorial/classes.rst:918
13391376
msgid""
@@ -1344,3 +1381,9 @@ msgid ""
13441381
"abstraction of namespace implementation, and should be restricted to things "
13451382
"like post-mortem debuggers."
13461383
msgstr""
1384+
"Excepto por una cosa. Los objetos módulo tienen un atributo de sólo lectura "
1385+
"secreto llamado :attr:`~object.__dict__` que devuelve el diccionario usado "
1386+
"para implementar el espacio de nombres del módulo; el nombre :attr:~object."
1387+
"__dict__` es un atributo pero no un nombre global. Obviamente, usar esto "
1388+
"viola la abstracción de la implementación del espacio de nombres, y debería "
1389+
"ser restringido a cosas como depuradores post-mortem."

‎tutorial/controlflow.po

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Copyright (C) 2001-2020, Python Software Foundation
22
# This file is distributed under the same license as the Python package.
3-
# Maintained by the python-doc-es workteam.
3+
# Maintained by the python-doc-es workteam.
44
# docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/
55
# Check https://github.com/PyCampES/python-docs-es/blob/3.7/TRANSLATORS to get the list of volunteers
66
#
@@ -9,15 +9,16 @@ msgstr ""
99
"Project-Id-Version:Python 3.7\n"
1010
"Report-Msgid-Bugs-To:\n"
1111
"POT-Creation-Date:2019-05-06 11:59-0400\n"
12-
"PO-Revision-Date:2019-12-22 12:00+0100\n"
12+
"PO-Revision-Date:2020-05-05 11:40+0200\n"
1313
"MIME-Version:1.0\n"
1414
"Content-Type:text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding:8bit\n"
1616
"Plural-Forms:nplurals=2; plural=(n != 1);\n"
17-
"Last-Translator:\n"
18-
"Language-Team:python-doc-es (https://mail.python.org/mailman3/lists/docs-es.python.org)\n"
17+
"Last-Translator:Raúl Cumplido <raulcumplido@gmail.com>\n"
18+
"Language-Team:python-doc-es (https://mail.python.org/mailman3/lists/docs-es."
19+
"python.org)\n"
1920
"Language:es\n"
20-
"X-Generator:Poedit 2.2.4\n"
21+
"X-Generator:Poedit 2.3\n"
2122

2223
#:../Doc/tutorial/controlflow.rst:5
2324
msgid"More Control Flow Tools"
@@ -185,14 +186,14 @@ msgid ""
185186
"Clauses on Loops"
186187
msgstr""
187188
"Las sentencias :keyword:`break`, :keyword:`continue`, y :keyword:`else` en "
188-
"lazos"
189+
"bucles"
189190

190191
#:../Doc/tutorial/controlflow.rst:160
191192
msgid""
192193
"The :keyword:`break` statement, like in C, breaks out of the innermost "
193194
"enclosing :keyword:`for` or :keyword:`while` loop."
194195
msgstr""
195-
"La sentencia :keyword:`break`, como en C, termina ellazo :keyword:`for` o :"
196+
"La sentencia :keyword:`break`, como en C, termina elbucle :keyword:`for` o :"
196197
"keyword:`while` más anidado."
197198

198199
#:../Doc/tutorial/controlflow.rst:163
@@ -203,11 +204,11 @@ msgid ""
203204
"is terminated by a :keyword:`break` statement. This is exemplified by the "
204205
"following loop, which searches for prime numbers::"
205206
msgstr""
206-
"Las sentencias delazo pueden tener una cláusula`!else` que es ejecutada "
207+
"Las sentencias debucle pueden tener una cláusula`!else` que es ejecutada "
207208
"cuando el lazo termina, luego de agotar la lista (con :keyword:`for`) o "
208209
"cuando la condición se hace falsa (con :keyword:`while`), pero no cuando el "
209-
"lazo es terminado con la sentencia :keyword:`break`. Seejemplifica en el "
210-
"siguientelazo, que busca números primos::"
210+
"bucle se termina con la sentencia :keyword:`break`. Sepuede ver el ejemplo "
211+
"en elsiguientebucle, que busca números primos::"
211212

212213
#:../Doc/tutorial/controlflow.rst:187
213214
msgid""

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp