Skip to content

Commit 1f0c14e

Browse files
authored
Merge pull request #3 from python/3.11
update branch
2 parents 435de3a + dc0fe24 commit 1f0c14e

15 files changed

+471
-285
lines changed

.overrides/CONTRIBUTING.rst

Lines changed: 70 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,18 @@ contribución, queremos señalar algunos
1717
.. note::
1818

1919
Si tienes cualquier duda, puedes enviarnos un email a docs-es@python.org.
20-
20+
2121
También puedes unirte a `nuestro canal de Telegram`_ si necesitas ayuda.
2222

23+
El proceso general de traducción son tres pasos, de los cuales el primero tendrás que
24+
realizar solo una vez. Te los detallamos a continuación.
2325

24-
Antes de comenzar
25-
-----------------
26+
27+
Paso 0: Configuración de Github
28+
-------------------------------
29+
30+
Esta configuración la tienes que realizar sólo una vez, y con ello
31+
podrás realizar todas las contribuciones que quieras.
2632

2733
#. Para enviar una traducción, necesitas tener un **fork** del repositorio_
2834
oficial, haciendo click en el botón encerrado en rojo.
@@ -62,10 +68,26 @@ Antes de comenzar
6268
``powrap`` y ``pospell`` para poder verificar tus archivos traducidos,
6369
y también construir la documentación localmente.
6470

65-
¡Comienza a traducir!
66-
---------------------
71+
.. _que-archivo-traducir:
72+
73+
Paso 1: ¿Qué archivo traducir?
74+
------------------------------
75+
76+
Tenemos una `lista de issues en GitHub`_ en dónde vamos coordinando el trabajo
77+
realizado para no traducir dos veces lo mismo. El proceso para traducir un
78+
archivo es el siguiente:
6779

68-
#. Selecciona un :ref:`archivo para traducir <que-archivo-traducir>`.
80+
81+
#. Elige cualquiera de los issues que *no están asignados* a otra persona.
82+
#. Deja un comentario en el issue diciendo que quieres trabajar en él.
83+
#. Espera a que un administrador te asigne el issue.
84+
#. ¡Empieza a traducir!
85+
86+
87+
Paso 2: ¡Comienza a traducir!
88+
-----------------------------
89+
90+
#. Tener un :ref:`archivo asignado para traducir <que-archivo-traducir>`.
6991

7092
#. Verifica que estás en la rama principal del repositorio, **3.11** (esto es muy
7193
importante para evitar crear una nueva rama a partir de una traducción
@@ -74,20 +96,52 @@ Antes de comenzar
7496
git checkout 3.11
7597

7698
#. Crea una rama nueva en base al artículo en el que vayas a trabajar. Por
77-
ejemplo, si vas a trabajar en el archivo ``library/glosario.po``, usa un nombre
99+
ejemplo, si vas a trabajar en el archivo ``library/ast.po``, usa un nombre
78100
similar a::
79101

80-
git checkout -b traduccion-glosario
102+
git checkout -b traduccion-ast
81103

82104
#. Una vez que hayas elegido el archivo, lo puedes abrir con el editor poedit_ y
83105
empezar a traducir.
84106

107+
#. **Formato de columnas**: Si utilizas poedit_ es posible que tu archivo tenga
108+
la estructura adecuada, pero te invitamos a comprobarlo con la herramienta
109+
powrap_, la cual puedes instalar y utilizar por la línea de comandos.
110+
Ejecuta::
111+
112+
powrap <directorio>/tu_archivo.po
113+
114+
Recuerda que tu archivo puede estar dentro de un ``<directorio>``, como
115+
``library``, con lo que tendrás que ejecutar el comando ``powrap
116+
library/tu_archivo.po`` si no te encuentras en el mismo directorio de tu
117+
archivo.
118+
119+
.. note:: Si estás en Windows y tienes problemas, mira los comentarios de
120+
:ref:`powrap_windows` para más información.
121+
122+
#. **Corrección ortográfica**: Para verificar la ortografía de tu archivo
123+
puedes utilizar la herramienta pospell_ para que verifiques que todas las
124+
palabras están aceptadas o incluidas en diccionarios. Para ello tenemos
125+
un script de conveniencia que puedes utilizar::
126+
127+
python scripts/check_spell.py <directorio>/tu_archivo.po
128+
129+
Si alguna palabra no es reconocida, y es una palabra válida, tienes que
130+
agregarla al diccionario correspondiente en el directorio dictionaries/.
131+
Busca el archivo que corresponde al que estás traduciendo y si no existe, créalo.
132+
Por ejemplo el diccionario del archivo ``library/ast.po`` se encuentra en
133+
``dictionaries/library_ast.po``.
134+
135+
.. note:: Si estás en Windows y tienes problemas, mira los comentarios de
136+
:ref:`pospell_windows` para más información.
137+
85138
#. Cuando hayas terminado tu sesión, debes guardar tus cambios y enviarlos a
86-
GitHub (No olvides añadir tu nombre al archivo ``TRANSLATORS``)::
139+
GitHub (No olvides añadir tu nombre al archivo ``TRANSLATORS``).
140+
Si estuvieras trabajando en el archivo ``library/ast.po`` los pasos serían::
87141

88-
git add library/glosario.po
89-
git commit -m 'Traducido archivo library/glosario'
90-
git push origin traduccion-glosario
142+
git add library/ast.po
143+
git commit -m 'Traducido archivo library/ast'
144+
git push origin traduccion-ast
91145

92146
.. note::
93147

@@ -107,22 +161,6 @@ Antes de comenzar
107161
:ref:`mantener actualizada <mantener-actualizada>` tu copia local antes
108162
de realizar el *Pull Request*.
109163

110-
.. _que-archivo-traducir:
111-
112-
¿Qué archivo traducir?
113-
----------------------
114-
115-
Tenemos una `lista de issues en GitHub`_ en dónde vamos coordinando el trabajo
116-
realizado para no traducir dos veces lo mismo. El proceso para traducir un
117-
archivo es el siguiente:
118-
119-
120-
#. Elige cualquiera de los issues que *no están asignados* a otra persona.
121-
#. Deja un comentario en el issue diciendo que quieres trabajar en él.
122-
#. Espera a que un administrador te asigne el issue.
123-
#. ¡Empieza a traducir!
124-
125-
126164
.. _a-tener-en-cuenta:
127165

128166
A tener en cuenta
@@ -203,9 +241,9 @@ Memoria de traducción
203241
---------------------
204242

205243
Tenemos una :doc:`Memoria de Traducción <translation-memory>`, que usamos para tener consistencia con algunos
206-
términos.
244+
términos.
207245
Si tienes alguna duda respecto a cómo traducir alguna palabra no te olvides de revisar este contenido.
208-
Del mismo modo, si luego de trabajar sobre un término *complicado* llegas a un acuerdo con otros colaboradores:
246+
Del mismo modo, si luego de trabajar sobre un término *complicado* llegas a un acuerdo con otros colaboradores:
209247
no se olviden de agregarlo.
210248

211249

@@ -215,6 +253,8 @@ no se olviden de agregarlo.
215253
.. _ayuda oficial de GitHub para crear un Pull Request:
216254
https://help.github.com/es/github/collaborating-with-issues-and-pull-requests/about-pull-requests
217255
.. _poedit: https://poedit.net/
256+
.. _powrap: https://github.com/AFPy/powrap
257+
.. _pospell: https://github.com/AFPy/pospell
218258

219259
.. _nuestro canal de Telegram: https://t.me/python_docs_es
220260
.. _la traducción al Portugués: https://docs.python.org/pt-br/3/

.overrides/faq.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,3 +246,48 @@ No tiene mucho tráfico aún ya que estamos usando más el canal de Telegram por
246246
Puedes suscribirte ingresando aquí_.
247247

248248
.. _aquí: https://mail.python.org/mailman3/lists/docs-es.python.org/
249+
250+
.. _powrap_windows:
251+
252+
Utilizar ``powrap`` en Windows
253+
------------------------------
254+
255+
Si no estás usando MinGW o el Subsistema de Linux en Windows como entorno
256+
de trabajo, la única opción que tienes es utilizar la herramienta ``poedit``
257+
para traducir y ajustar el largo de cada línea.
258+
259+
Si vas a *Preferences -> Advanced* podrás encontrar una forma de seleccionar
260+
que los *Line endings* sean *Unix (recommended)* y que la opción **Wrap
261+
at** esté activada y tenga el valor **70**.
262+
263+
La razón de estos problemas, es que ``powrap`` utiliza una dependencia
264+
llamada ``msgcat`` que provee el paquete ``gettext`` que usualmente
265+
se puede instalar en macOS y Linux, pero no en Windows.
266+
267+
.. _pospell_windows:
268+
269+
Utilizar ``pospell`` en Windows
270+
-------------------------------
271+
272+
La herramienta ``pospell`` depende de un paquete llamado ``hunspell``, y que no
273+
se instala por defecto mediante ``pip``. Para instalar la dependencia tienes
274+
dos opciones:
275+
276+
#. Utilizar el paquete que provee una iniciativa llamada
277+
*exwinports*, que puedes seleccionar desde esta
278+
`lista de archivos <https://sourceforge.net/projects/ezwinports/files/>`_.
279+
Luego descomprimes el archivo en algún lugar como ``C:\hunspell\``,
280+
y agregas dicho directorio al ``PATH``::
281+
282+
set PATH=C:\hunspell\bin;%PATH%
283+
284+
y finalmente, descarga un diccionario ``es_ES`` de algún lugar,
285+
por ejemplo, de `acá <https://kitscenarist.ru/downloads/hunspell/>`_.
286+
#. Utilizar el subsistema Linux, y configurar todo desde dicho sistema,
287+
clonando el repositorio y todo desde ahí. Luego ejecutas la instalación
288+
de ``pospell`` (via pip) y ``hunspell`` (via apt-get) para utilizar
289+
las herramientas desde ahí.
290+
291+
.. note:: Tendrás que tener todo configurado en el subsistema Linux para
292+
poder utilizar esta opción.
293+

.overrides/translation-memory.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ Dividimos esta sección en dos partes, los términos que se traducen y los que m
8080

8181
auditing event
8282
evento de auditoría ``library/tempfile`` and many others
83+
84+
array
85+
arreglo
8386

8487
awaitable
8588
aguardable ``glossary``

c-api/code.po

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ msgstr ""
1111
"Project-Id-Version: Python 3.8\n"
1212
"Report-Msgid-Bugs-To: \n"
1313
"POT-Creation-Date: 2022-10-25 19:47+0200\n"
14-
"PO-Revision-Date: 2021-08-16 13:04+0200\n"
15-
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
16-
"Language: es\n"
14+
"PO-Revision-Date: 2022-10-30 17:20-0300\n"
15+
"Last-Translator: Sofía Denner <sofi.denner@gmail.com>\n"
1716
"Language-Team: python-doc-es\n"
18-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
17+
"Language: es\n"
1918
"MIME-Version: 1.0\n"
2019
"Content-Type: text/plain; charset=utf-8\n"
2120
"Content-Transfer-Encoding: 8bit\n"
21+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2222
"Generated-By: Babel 2.10.3\n"
23+
"X-Generator: Poedit 3.2\n"
2324

2425
#: ../Doc/c-api/code.rst:8
2526
msgid "Code Objects"
@@ -64,7 +65,6 @@ msgid "Return the number of free variables in *co*."
6465
msgstr "Retorna el número de variables libres en *co*."
6566

6667
#: ../Doc/c-api/code.rst:38
67-
#, fuzzy
6868
msgid ""
6969
"Return a new code object. If you need a dummy code object to create a "
7070
"frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` "
@@ -74,36 +74,38 @@ msgid ""
7474
"to result in incorrect execution or VM crashes. Use this function only with "
7575
"extreme care."
7676
msgstr ""
77-
"Retorna un nuevo objeto de código. Si necesita un objeto de código ficticio "
78-
"para crear un marco (*frame*), use :c:func:`PyCode_NewEmpty` en su lugar. "
79-
"Llamando :c:func:`PyCode_New` directamente puede enlazarlo a una versión "
80-
"precisa de Python ya que la definición del código de bytes cambia a menudo."
77+
"Retorna un nuevo objeto de código. Si se necesita un objeto de código "
78+
"ficticio para crear un marco (*frame*), usar :c:func:`PyCode_NewEmpty` en su "
79+
"lugar. Llamando :c:func:`PyCode_New` directamente puede enlazarlo a una "
80+
"versión precisa de Python ya que la definición del código de bytes cambia a "
81+
"menudo. Muchos de los argumentos de esta función están relacionados "
82+
"mutuamente de formas complejas, lo cual significa que cambios sutiles en "
83+
"estos valores probablemente resulten en ejecuciones incorrectas o fallas en "
84+
"la VM."
8185

8286
#: ../Doc/c-api/code.rst:45 ../Doc/c-api/code.rst:55
8387
msgid "Added ``exceptiontable`` parameter."
84-
msgstr ""
88+
msgstr "Se agregó el parámetro ``exceptiontable``."
8589

8690
#: ../Doc/c-api/code.rst:50
87-
#, fuzzy
8891
msgid ""
8992
"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for "
9093
"positional-only arguments. The same caveats that apply to ``PyCode_New`` "
9194
"also apply to this function."
9295
msgstr ""
9396
"Similar a :c:func:`PyCode_New`, pero con un \"*posonlyargcount*\" adicional "
94-
"para argumentos solo posicionales."
97+
"para argumentos solo posicionales. Las mismas advertencias que aplican a "
98+
"``PyCode_New`` también aplican a esta función."
9599

96100
#: ../Doc/c-api/code.rst:60
97-
#, fuzzy
98101
msgid ""
99102
"Return a new empty code object with the specified filename, function name, "
100103
"and first line number. The resulting code object will raise an ``Exception`` "
101104
"if executed."
102105
msgstr ""
103106
"Retorna un nuevo objeto de código vacío con el nombre de archivo "
104-
"especificado, el nombre de la función y el número de la primera línea. Es "
105-
"ilegal utilizar :func:`exec` o :func:`eval` en el objeto de código "
106-
"resultante."
107+
"especificado, el nombre de la función y el número de la primera línea. Si el "
108+
"objeto código resultante es ejecutado, lanzará una ``Exception``."
107109

108110
#: ../Doc/c-api/code.rst:66
109111
msgid ""
@@ -116,47 +118,62 @@ msgstr ""
116118
"un marco, use :c:func:`PyFrame_GetLineNumber` en su lugar."
117119

118120
#: ../Doc/c-api/code.rst:69
119-
#, fuzzy
120121
msgid ""
121122
"For efficiently iterating over the line numbers in a code object, use `the "
122123
"API described in PEP 626 <https://peps.python.org/pep-0626/#out-of-process-"
123124
"debuggers-and-profilers>`_."
124125
msgstr ""
125126
"Para iterar de manera eficiente sobre los números de línea en un objeto de "
126-
"código, use `la API descrita en PEP 626 <https://www.python.org/dev/peps/"
127-
"pep-0626/#out-of-process-debuggers-and-profilers>`_."
127+
"código, use `la API descrita en PEP 626 <https://peps.python.org/pep-0626/"
128+
"#out-of-process-debuggers-and-profilers>`_."
128129

129130
#: ../Doc/c-api/code.rst:74
130131
msgid ""
131132
"Sets the passed ``int`` pointers to the source code line and column numbers "
132133
"for the instruction at ``byte_offset``. Sets the value to ``0`` when "
133134
"information is not available for any particular element."
134135
msgstr ""
136+
"Establece los punteros ``int`` pasados en los números de línea y columna del "
137+
"código fuente para las instrucciones en ``byte_offset``. Establece el valor "
138+
"en ``0`` cuando la información no está disponible para algún elemento en "
139+
"particular."
135140

136141
#: ../Doc/c-api/code.rst:78
137142
msgid "Returns ``1`` if the function succeeds and 0 otherwise."
138-
msgstr ""
143+
msgstr "Retorna ``1`` si la función fue exitosa y ``0`` de lo contrario."
139144

140145
#: ../Doc/c-api/code.rst:82
141146
msgid ""
142147
"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong "
143148
"reference to a :c:type:`PyBytesObject` representing the bytecode in a code "
144149
"object. On error, ``NULL`` is returned and an exception is raised."
145150
msgstr ""
151+
"Equivalente al código Python ``getattr(co, 'co_code')``. Retorna una "
152+
"referencia fuerte a un :c:type:`PyBytesObject` representando el bytecode en "
153+
"un objecto código. En caso de error se retorna ``NULL`` y se lanza una "
154+
"excepción."
146155

147156
#: ../Doc/c-api/code.rst:87
148157
msgid ""
149158
"This ``PyBytesObject`` may be created on-demand by the interpreter and does "
150159
"not necessarily represent the bytecode actually executed by CPython. The "
151160
"primary use case for this function is debuggers and profilers."
152161
msgstr ""
162+
"Este ``PyBytesObject`` puede ser creado a pedido del intérprete y no "
163+
"necesariamente representa el bytecode que es realmente ejecutado por "
164+
"CPython. Los casos de uso principales para esta función son depuradores y "
165+
"perfiladores."
153166

154167
#: ../Doc/c-api/code.rst:95
155168
msgid ""
156169
"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new "
157170
"reference to a :c:type:`PyTupleObject` containing the names of the local "
158171
"variables. On error, ``NULL`` is returned and an exception is raised."
159172
msgstr ""
173+
"Equivalente al código Python ``getattr(co, 'co_varnames')``. Retorna una "
174+
"nueva referencia a un :c:type:`PyTupleObject` que contiene los nombres de "
175+
"las variables locales. En caso de error, retorna ``NULL`` y lanza una "
176+
"excepción."
160177

161178
#: ../Doc/c-api/code.rst:104
162179
msgid ""
@@ -165,10 +182,18 @@ msgid ""
165182
"variables that are referenced by nested functions. On error, ``NULL`` is "
166183
"returned and an exception is raised."
167184
msgstr ""
185+
"Equivalente al código Python ``getattr(co, 'co_cellvars')``. Retorna una "
186+
"nueva referencia a un :c:type:`PyTupleObject` que contiene los nombres de "
187+
"las variables locales referenciadas por funciones anidadas. En caso de "
188+
"error, retorna ``NULL`` y lanza una excepción."
168189

169190
#: ../Doc/c-api/code.rst:113
170191
msgid ""
171192
"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new "
172193
"reference to a :c:type:`PyTupleObject` containing the names of the free "
173194
"variables. On error, ``NULL`` is returned and an exception is raised."
174195
msgstr ""
196+
"Equivalente al código Python ``getattr(co, 'co_freevars')``. Retorna una "
197+
"nueva referencia a un :c:type:`PyTupleObject` que contiene los nombres de "
198+
"las variables libres. En caso de error, retorna ``NULL`` y lanza una "
199+
"excepción."

0 commit comments

Comments
 (0)