Skip to content

Commit 99c2842

Browse files
authored
Merge branch '3.8' into traduccion-subprocess
2 parents 6a730b3 + 45ff06d commit 99c2842

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+3204
-602
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Doc/CONTRIBUTING.rst
1212
Doc/translation-memory.rst
1313
Doc/upgrade-python-version.rst
1414
locales/
15+
dict.txt
1516

1617
# Byte-compiled / optimized / DLL files
1718
__pycache__/

.overrides/faq.rst

+12
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,18 @@ Estamos trabajando para unificar el uso de un mismo set de diccionarios de espa
6161
pero por el momento el chequeo que hacemos es con los diccionarios es_AR y es_ES.
6262

6363

64+
¿Cómo agrego una palabra al diccionario?
65+
----------------------------------------
66+
67+
Si ``pospell`` falla diciendo que no conoce una palabra, pero estamos seguros que esa palabra está bien escrita,
68+
debemos agregarla al diccionario que ``pospell`` usa internamente para comprobar las palabras.
69+
70+
Para eso debes editar (o crear, si no existe) el archivo ``<archivopo>.txt`` dentro del direcorio ``dictionaries``
71+
y agregar esa palabra al final de este archivo.
72+
Nota que debes reemplazar ``<archivopo>`` por el nombre del archivo que estés traduciendo.
73+
Por ejemplo, si estás traduciendo ``library/decimal.po``, debes editar/crear el archivos ``dictionaries/library_decimal.txt``.
74+
75+
6476
¿Cómo puedo configurar git para manejar correctamente los finales de línea en Windows?
6577
--------------------------------------------------------------------------------------
6678

.overrides/reviewers-guide.rst

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
================================
2+
Guía para revisar una traducción
3+
================================
4+
El costado humano
5+
=================
6+
Teniendo en cuenta que todes somos voluntaries en este proyecto, es importante que la forma de comunicarnos sea clara, concisa y amable. Como revisor/a, ayudarás a voluntaries de diferentes culturas y lugares del mundo para que su traducción sea lo más acertada posible y podamos acercar Python a las comunidades de habla hispana. Recuerda que del otro lado de un PR hay una persona que ha dedicado tiempo y esfuerzo; es por eso es la forma en que le des una devolución sobre su trabajo influirá en su actitud hacia el proyecto…¡y en sus ganas de seguir participando de nuestra comunidad!
7+
Aquí te dejamos algunos *tips* para que tu devolución sea constructiva y genuina:
8+
9+
* Siempre deja un comentario en la PR que deje una conclusión general de tu devolución para dejarle claro a les traductores qué necesita modificación y qué no. Recuerda siempre comenzar reconociendo los aspectos positivos del trabajo de la otra persona y luego puedes agregar comentarios/sugerencias sobre la traducción.
10+
11+
El costado práctico
12+
===================
13+
La devolución deberá ser acertada para transmitir el mensaje que necesitamos que llegue; de esta forma, les traductores podrán revisar su trabajo y saber qué necesitan hacer para mejorarlo.
14+
No olvides que esto se trata de una traducción técnica y como tal, el objetivo es que, básicamente, la persona que la lea pueda entender cómo usar Python. Es por esto que, si bien es importante que la sintaxis sea correcta, el objetivo no es hacer una revisión intensiva del uso del español, a menos que la forma en que se expresó la idea imposibilite que otre la entienda.
15+
16+
Para esto, Github te ofrece opciones para afrontar una PR (ver botón *Review Changes* arriba a la derecha de los archivos modificados por les traductores):
17+
* *Comment*: Puedes dejar un comentario sin necesariamente aprobar la PR. Asegúrate de hacerlo con claridad para que quien tradujo sepa que debe modificar algunas cosas antes de que su PR sea aprobada.
18+
* *Approve*: Dejar esta opción solo para PRs que no necesitan modificación alguna o que solo tengan pocas faltas de ortografía o errores de tipeo, o algún error que no genere un conflicto mayor en la traducción y en su integración al repositorio.
19+
* *Request Changes*: Utiliza esta opción cuando la traducción necesita varias modificaciones que afectan su integración al repositorio. En este caso también asegúrate de que tu mensaje sea claro y amable para acompañar al traductor en el proceso de modificar y lograr que la PR se apruebe.
20+
21+
*Tips*
22+
====
23+
* PRs de más de 1000 líneas: Te sugerimos hacer un comentario al principio del PR para indicar hasta qué línea haz hecho el review y qué hay que revisar hasta ese hito.
24+
* “Needs work” genera en la línea anterior “#fuzzy” para que el traductor revise esa línea. Se puede usar cuando la traducción necesita revisión y en ese momento no puedes sugerir una traducción alternativa.
25+
26+
27+
El costado técnico
28+
==================
29+
Al revisar una traducción, deberás tener en cuenta ciertos aspectos propios de una traducción técnica de esta índole. Además de que debe entenderse el texto en español y que debes respetar el contenido de la documentación original (ver "A tener en cuenta" en la `Guía para contribuir en la traducción <https://python-docs-es.readthedocs.io/es/3.8/CONTRIBUTING.html>`_), contamos con herramientas en este proyecto que pueden fallar en ciertos casos, y que como revisor/a deberás tener en cuenta.
30+
31+
Cuatro razones por las que puede fallar el *build* de Travis:
32+
* `powrap` falla
33+
* `pospell` falla
34+
* Dict está duplicado
35+
* Sphinx falla

.travis.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ install:
1010
- powrap --version
1111
script:
1212
- powrap --check --quiet **/*.po
13-
- pospell -p dict -l es_AR -l es_ES **/*.po
13+
- cat dict dictionaries/*.txt > dict.txt
14+
- pospell -p dict.txt -l es_AR -l es_ES **/*.po
1415
- make build
1516
branches:
1617
only:

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ progress: venv
8989

9090
.PHONY: spell
9191
spell: venv
92-
$(VENV)/bin/pospell -p dict -l es_ES **/*.po
92+
cat dict dictionaries/*.txt > dict.txt
93+
$(VENV)/bin/pospell -p dict.txt -l es_ES **/*.po
9394

9495

9596
.PHONY: wrap

TRANSLATORS

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ Héctor Canto (@hectorcanto)
99
Carlos Crespo (@cacrespo)
1010
Raúl Cumplido (@raulcd)
1111
Javier Daza (@javierdaza)
12+
Juan Diego Alfonso Ocampo (@halcolo)
1213
Sergio Delgado Quintero (@sdelquin)
1314
Nicolás Demarchi (@gilgamezh)
1415
Xavi Francisco (@srxavi)
1516
Manuel Kaufmann (@humitos)
1617
Pablo Lobariñas (@Qkolnek)
1718
Alvar Maciel (@alvarmaciel @amaciel)
19+
Juan Sebastián Marquez (@juansemarquez)
1820
Cristián Maureira-Fredes (@cmaureir)
1921
Cristian Andrés Maximiliano Mayuti (@mayuti)
2022
Omar Mendo (@beejeke)
@@ -38,4 +40,4 @@ Leonardo Gomez (@gomezgleonardob)
3840
Luis Sánchez (@LuisAISanchez)
3941
José Miguel Hernández Cabrera (@miguelheca)
4042
Naryie Vásquez Martínez (@narvmtz)
41-
Xavi Rambla Centellas (@xavirambla)
43+
Xavi Rambla Centellas (@xavirambla)

c-api/bytearray.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ msgid ""
7979
"failure, ``NULL`` is returned."
8080
msgstr ""
8181
"Crea un nuevo objeto de arreglo de bytes a partir de *string* y su longitud, "
82-
"*len*. En caso de fallo, se devuelve ``NULL``."
82+
"*len*. En caso de fallo, se retorna ``NULL``."
8383

8484
#: ../Doc/c-api/bytearray.rst:56
8585
msgid ""

c-api/contextvars.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ msgstr ""
174174
"Crea un nuevo objeto ``ContextVar``. El parámetro *name* se usa para "
175175
"propósitos de introspección y depuración. El parámetro *def* puede "
176176
"especificar opcionalmente el valor predeterminado para la variable de "
177-
"contexto. Si se ha producido un error, esta función devuelve ``NULL``."
177+
"contexto. Si se ha producido un error, esta función retorna ``NULL``."
178178

179179
#: ../Doc/c-api/contextvars.rst:121
180180
msgid ""

c-api/conversion.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ msgid ""
277277
msgstr ""
278278
"El valor de retorno es un puntero a *buffer* con la cadena de caracteres "
279279
"convertida o ``NULL`` si la conversión falla. La persona que llama es "
280-
"responsable de liberar la cadena de caracteres devuelta llamando a :c:func:"
280+
"responsable de liberar la cadena de caracteres retornada llamando a :c:func:"
281281
"`PyMem_Free`."
282282

283283
# case insensitive

c-api/datetime.po

+2-2
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,13 @@ msgid ""
303303
"Create and return a new :class:`datetime.datetime` object given an argument "
304304
"tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`."
305305
msgstr ""
306-
"Crea y devuelve un nuevo objeto :class:`datetime.datetime` dado una tupla de "
306+
"Crea y retorna un nuevo objeto :class:`datetime.datetime` dado una tupla de "
307307
"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp()`."
308308

309309
#: ../Doc/c-api/datetime.rst:248
310310
msgid ""
311311
"Create and return a new :class:`datetime.date` object given an argument "
312312
"tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`."
313313
msgstr ""
314-
"Crea y devuelve un nuevo objeto :class:`datetime.date` dado una tupla de "
314+
"Crea y retorna un nuevo objeto :class:`datetime.date` dado una tupla de "
315315
"argumentos adecuada para pasar a :meth:`datetime.date.fromtimestamp()`."

c-api/dict.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ msgstr ""
250250
"verdadero para cada par en el diccionario y falso una vez que todos los "
251251
"pares han sido reportados. Los parámetros *pkey* y *pvalue* deben apuntar a :"
252252
"c:type:`PyObject\\*` variables que se completarán con cada clave y valor, "
253-
"respectivamente, o pueden ser ``NULL``. Cualquier referencia devuelta a "
253+
"respectivamente, o pueden ser ``NULL``. Cualquier referencia retornada a "
254254
"través de ellos es prestada. *ppos* no debe modificarse durante la "
255255
"iteración. Su valor representa desplazamientos dentro de la estructura "
256256
"interna del diccionario, y dado que la estructura es escasa, los "

c-api/file.po

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ msgid ""
8989
"and returns ``-1`` on failure."
9090
msgstr ""
9191
"Retorna el descriptor de archivo asociado con *p* como :c:type:`int`. Si el "
92-
"objeto es un entero, se devuelve su valor. Si no, se llama al método :meth:"
92+
"objeto es un entero, se retorna su valor. Si no, se llama al método :meth:"
9393
"`~io.IOBase.fileno` del objeto si existe; el método debe devolver un número "
9494
"entero, que se retorna como el valor del descriptor de archivo. Establece "
9595
"una excepción y retorna ``-1`` en caso de error."
@@ -161,7 +161,7 @@ msgid ""
161161
msgstr ""
162162
"Una vez que se ha establecido un *hook*, no se puede quitar ni reemplazar, y "
163163
"luego llamadas a :c:func:`PyFile_SetOpenCodeHook` fallarán. En caso de "
164-
"error, la función devuelve -1 y establece una excepción si el intérprete se "
164+
"error, la función retorna -1 y establece una excepción si el intérprete se "
165165
"ha inicializado."
166166

167167
#: ../Doc/c-api/file.rst:83

c-api/float.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ msgstr ""
8686
"*pyfloat*. Si *pyfloat* no es un objeto de punto flotante de Python pero "
8787
"tiene un método :meth:`__float__`, primero se llamará a este método para "
8888
"convertir *pyfloat* en un flotante. Si ``__float __()`` no está definido, "
89-
"entonces recurre a :meth:`__index__`. Este método devuelve ``-1.0`` en caso "
89+
"entonces recurre a :meth:`__index__`. Este método retorna ``-1.0`` en caso "
9090
"de falla, por lo que se debe llamar a :c:func:`PyErr_Occurred` para "
9191
"verificar si hay errores."
9292

c-api/gcsupport.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ msgstr ""
229229
"llamar a la función *visit* para cada objeto directamente contenido por "
230230
"*self*, siendo los parámetros a *visit* el objeto contenido y el valor *arg* "
231231
"pasado al controlador. La función *visit* no debe llamarse con un argumento "
232-
"de objeto ``NULL``. Si *visit* devuelve un valor distinto de cero, ese valor "
232+
"de objeto ``NULL``. Si *visit* retorna un valor distinto de cero, ese valor "
233233
"debe devolverse inmediatamente."
234234

235235
#: ../Doc/c-api/gcsupport.rst:117

c-api/init.po

+3-3
Original file line numberDiff line numberDiff line change
@@ -1803,7 +1803,7 @@ msgstr ""
18031803
"información de estado específica del hilo. Cada extensión debe usar una "
18041804
"clave única para almacenar el estado en el diccionario. Está bien llamar a "
18051805
"esta función cuando no hay un estado del hilo actual disponible. Si esta "
1806-
"función devuelve ``NULL``, no se ha producido ninguna excepción y la persona "
1806+
"función retorna ``NULL``, no se ha producido ninguna excepción y la persona "
18071807
"que llama debe asumir que no hay disponible ningún estado del hilo actual."
18081808

18091809
#: ../Doc/c-api/init.rst:1090
@@ -2001,7 +2001,7 @@ msgstr ""
20012001
"subinterprete. Este estado de hilo se realiza en el estado de hilo actual. "
20022002
"Tenga en cuenta que no se crea ningún hilo real; vea la discusión de los "
20032003
"estados del hilo a continuación. Si la creación del nuevo intérprete no "
2004-
"tiene éxito, se devuelve ``NULL``; no se establece ninguna excepción, ya que "
2004+
"tiene éxito, se retorna ``NULL``; no se establece ninguna excepción, ya que "
20052005
"el estado de excepción se almacena en el estado actual del hilo y es posible "
20062006
"que no haya un estado actual del hilo. (Al igual que todas las otras "
20072007
"funciones de Python/C API, el bloqueo global del intérprete debe mantenerse "
@@ -2319,7 +2319,7 @@ msgstr ":const:`PyTrace_RETURN`"
23192319
msgid ""
23202320
"Value being returned to the caller, or ``NULL`` if caused by an exception."
23212321
msgstr ""
2322-
"Valor devuelto al que llama, o ``NULL`` si es causado por una excepción."
2322+
"Valor retornado al que llama, o ``NULL`` si es causado por una excepción."
23232323

23242324
#: ../Doc/c-api/init.rst:1382
23252325
msgid ":const:`PyTrace_C_CALL`"

c-api/intro.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ msgstr ""
694694
"tanto, si extrae un elemento de una lista usando :c:func:`PyList_GetItem`, "
695695
"no posee la referencia --- pero si obtiene el mismo elemento de la misma "
696696
"lista usando :c:func:`PySequence_GetItem` (que toma exactamente los mismos "
697-
"argumentos), usted posee una referencia al objeto devuelto."
697+
"argumentos), usted posee una referencia al objeto retornado."
698698

699699
#: ../Doc/c-api/intro.rst:418
700700
msgid ""

c-api/iterator.po

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ msgstr ""
3535
"un iterador de secuencia, funciona con una secuencia arbitraria que admite "
3636
"el método :meth:`__getitem__`. El segundo funciona con un objeto invocable y "
3737
"un valor centinela, llamando al invocable para cada elemento de la secuencia "
38-
"y finalizando la iteración cuando se devuelve el valor centinela."
38+
"y finalizando la iteración cuando se retorna el valor centinela."
3939

4040
#: ../Doc/c-api/iterator.rst:17
4141
msgid ""
4242
"Type object for iterator objects returned by :c:func:`PySeqIter_New` and the "
4343
"one-argument form of the :func:`iter` built-in function for built-in "
4444
"sequence types."
4545
msgstr ""
46-
"Objeto tipo para objetos iteradores devueltos por :c:func:`PySeqIter_New` y "
46+
"Objeto tipo para objetos iteradores retornados por :c:func:`PySeqIter_New` y "
4747
"la forma de un argumento de la función incorporada :func:`iter` para los "
4848
"tipos de secuencia incorporados."
4949

@@ -66,7 +66,7 @@ msgid ""
6666
"Type object for iterator objects returned by :c:func:`PyCallIter_New` and "
6767
"the two-argument form of the :func:`iter` built-in function."
6868
msgstr ""
69-
"Objeto tipo para los objetos iteradores devueltos por :c:func:"
69+
"Objeto tipo para los objetos iteradores retornados por :c:func:"
7070
"`PyCallIter_New` y la forma de dos argumentos de la función incorporada :"
7171
"func:`iter`."
7272

c-api/mapping.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ msgid ""
4242
"determine what type of keys it supports. This function always succeeds."
4343
msgstr ""
4444
"Retorna ``1`` si el objeto proporciona el protocolo de mapeo o admite "
45-
"rebanado (*slicing*), y ``0`` de lo contrario. Tenga en cuenta que devuelve "
45+
"rebanado (*slicing*), y ``0`` de lo contrario. Tenga en cuenta que retorna "
4646
"``1`` para las clases de Python con un método :meth:`__getitem__` ya que, en "
4747
"general, es imposible determinar qué tipo de claves admite. Esta función "
4848
"siempre tiene éxito."

c-api/number.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ msgid ""
383383
msgstr ""
384384
"Retorna el entero *n* convertido a base *base* como una cadena de "
385385
"caracteres. El argumento *base* debe ser uno de 2, 8, 10 o 16. Para la base "
386-
"2, 8 o 16, la cadena devuelta está prefijada con un marcador base de "
386+
"2, 8 o 16, la cadena retornada está prefijada con un marcador base de "
387387
"``'0b'``', ``'0o'`` o ``'0x'``, respectivamente. Si *n* no es un entero "
388388
"(*int*) Python, primero se convierte con :c:func:`PyNumber_Index`."
389389

c-api/objbuffer.po

+4-5
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,9 @@ msgid ""
6262
msgstr ""
6363
"Retorna un puntero a una ubicación de memoria de solo lectura que se puede "
6464
"usar como entrada basada en caracteres. El argumento *obj* debe admitir la "
65-
"interfaz de búfer de caracteres de segmento único. En caso de éxito, "
66-
"devuelve ``0``, establece *buffer* en la ubicación de memoria y *buffer_len* "
67-
"en la longitud del búfer. Retorna ``-1`` y lanza :exc:`TypeError` en caso de "
68-
"error."
65+
"interfaz de búfer de caracteres de segmento único. En caso de éxito, retorna "
66+
"``0``, establece *buffer* en la ubicación de memoria y *buffer_len* en la "
67+
"longitud del búfer. Retorna ``-1`` y lanza :exc:`TypeError` en caso de error."
6968

7069
#: ../Doc/c-api/objbuffer.rst:32
7170
msgid ""
@@ -87,7 +86,7 @@ msgid ""
8786
"Otherwise returns ``0``. This function always succeeds."
8887
msgstr ""
8988
"Retorna ``1`` si *o* admite la interfaz de búfer legible de segmento único. "
90-
"De lo contrario, devuelve ``0``. Esta función siempre tiene éxito."
89+
"De lo contrario, retorna ``0``. Esta función siempre tiene éxito."
9190

9291
#: ../Doc/c-api/objbuffer.rst:44
9392
msgid ""

c-api/sequence.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ msgid ""
156156
"number of keys for which ``o[key] == value``. On failure, return ``-1``. "
157157
"This is equivalent to the Python expression ``o.count(value)``."
158158
msgstr ""
159-
"Retorna el número de apariciones de *value* en *o*, es decir, devuelve el "
159+
"Retorna el número de apariciones de *value* en *o*, es decir, retorna el "
160160
"número de claves para las que ``o[clave]==value``. En caso de fallo, retorna "
161161
"``-1``. Esto es equivalente a la expresión de Python ``o.count(value)``."
162162

c-api/set.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ msgid ""
156156
"Return the new set on success or ``NULL`` on failure. Raise :exc:"
157157
"`TypeError` if *iterable* is not actually iterable."
158158
msgstr ""
159-
"Retorna un nuevo :class:`frozenset` que contiene objetos devueltos por "
159+
"Retorna un nuevo :class:`frozenset` que contiene objetos retornados por "
160160
"*iterable*. El *iterable* puede ser ``NULL`` para crear un nuevo conjunto "
161161
"congelado vacío. Retorna el nuevo conjunto en caso de éxito o ``NULL`` en "
162162
"caso de error. Lanza :exc:`TypeError` si *iterable* no es realmente iterable."

c-api/sys.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ msgstr ""
4040
"incrementa. Si el objeto implementa la interfaz :class:`os.PathLike`, "
4141
"entonces :meth:`~os.PathLike.__fspath__` se retorna siempre que sea un "
4242
"objeto :class:`str` o :class:`bytes`. De lo contrario :exc:`TypeError` se "
43-
"lanza y se devuelve ``NULL``."
43+
"lanza y se retorna ``NULL``."
4444

4545
#: ../Doc/c-api/sys.rst:22
4646
msgid ""

c-api/tuple.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ msgid ""
212212
"The same as ``PyStructSequence_InitType``, but returns ``0`` on success and "
213213
"``-1`` on failure."
214214
msgstr ""
215-
"Lo mismo que ``PyStructSequence_InitType``, pero devuelve ``0`` en caso de "
215+
"Lo mismo que ``PyStructSequence_InitType``, pero retorna ``0`` en caso de "
216216
"éxito y ``-1`` en caso de error."
217217

218218
#: ../Doc/c-api/tuple.rst:148

0 commit comments

Comments
 (0)