Skip to content
Merged
100 changes: 70 additions & 30 deletions .overrides/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@ contribución, queremos señalar algunos
.. note::

Si tienes cualquier duda, puedes enviarnos un email a docs-es@python.org.

También puedes unirte a `nuestro canal de Telegram`_ si necesitas ayuda.

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

Antes de comenzar
-----------------

Paso 0: Configuración de Github
-------------------------------

Esta configuración la tienes que realizar sólo una vez, y con ello
podrás realizar todas las contribuciones que quieras.

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

¡Comienza a traducir!
---------------------
.. _que-archivo-traducir:

Paso 1: ¿Qué archivo traducir?
------------------------------

Tenemos una `lista de issues en GitHub`_ en dónde vamos coordinando el trabajo
realizado para no traducir dos veces lo mismo. El proceso para traducir un
archivo es el siguiente:

#. Selecciona un :ref:`archivo para traducir <que-archivo-traducir>`.

#. Elige cualquiera de los issues que *no están asignados* a otra persona.
#. Deja un comentario en el issue diciendo que quieres trabajar en él.
#. Espera a que un administrador te asigne el issue.
#. ¡Empieza a traducir!


Paso 2: ¡Comienza a traducir!
-----------------------------

#. Tener un :ref:`archivo asignado para traducir <que-archivo-traducir>`.

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

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

git checkout -b traduccion-glosario
git checkout -b traduccion-ast

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

#. **Formato de columnas**: Si utilizas poedit_ es posible que tu archivo tenga
la estructura adecuada, pero te invitamos a comprobarlo con la herramienta
powrap_, la cual puedes instalar y utilizar por la línea de comandos.
Ejecuta::

powrap <directorio>/tu_archivo.po

Recuerda que tu archivo puede estar dentro de un ``<directorio>``, como
``library``, con lo que tendrás que ejecutar el comando ``powrap
library/tu_archivo.po`` si no te encuentras en el mismo directorio de tu
archivo.

.. note:: Si estás en Windows y tienes problemas, mira los comentarios de
:ref:`powrap_windows` para más información.

#. **Corrección ortográfica**: Para verificar la ortografía de tu archivo
puedes utilizar la herramienta pospell_ para que verifiques que todas las
palabras están aceptadas o incluidas en diccionarios. Para ello tenemos
un script de conveniencia que puedes utilizar::

python scripts/check_spell.py <directorio>/tu_archivo.po

Si alguna palabra no es reconocida, y es una palabra válida, tienes que
agregarla al diccionario correspondiente en el directorio dictionaries/.
Busca el archivo que corresponde al que estás traduciendo y si no existe, créalo.
Por ejemplo el diccionario del archivo ``library/ast.po`` se encuentra en
``dictionaries/library_ast.po``.

.. note:: Si estás en Windows y tienes problemas, mira los comentarios de
:ref:`pospell_windows` para más información.

#. Cuando hayas terminado tu sesión, debes guardar tus cambios y enviarlos a
GitHub (No olvides añadir tu nombre al archivo ``TRANSLATORS``)::
GitHub (No olvides añadir tu nombre al archivo ``TRANSLATORS``).
Si estuvieras trabajando en el archivo ``library/ast.po`` los pasos serían::

git add library/glosario.po
git commit -m 'Traducido archivo library/glosario'
git push origin traduccion-glosario
git add library/ast.po
git commit -m 'Traducido archivo library/ast'
git push origin traduccion-ast

.. note::

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

.. _que-archivo-traducir:

¿Qué archivo traducir?
----------------------

Tenemos una `lista de issues en GitHub`_ en dónde vamos coordinando el trabajo
realizado para no traducir dos veces lo mismo. El proceso para traducir un
archivo es el siguiente:


#. Elige cualquiera de los issues que *no están asignados* a otra persona.
#. Deja un comentario en el issue diciendo que quieres trabajar en él.
#. Espera a que un administrador te asigne el issue.
#. ¡Empieza a traducir!


.. _a-tener-en-cuenta:

A tener en cuenta
Expand Down Expand Up @@ -203,9 +241,9 @@ Memoria de traducción
---------------------

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


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

.. _nuestro canal de Telegram: https://t.me/python_docs_es
.. _la traducción al Portugués: https://docs.python.org/pt-br/3/
Expand Down
45 changes: 45 additions & 0 deletions .overrides/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -246,3 +246,48 @@ No tiene mucho tráfico aún ya que estamos usando más el canal de Telegram por
Puedes suscribirte ingresando aquí_.

.. _aquí: https://mail.python.org/mailman3/lists/docs-es.python.org/

.. _powrap_windows:

Utilizar ``powrap`` en Windows
------------------------------

Si no estás usando MinGW o el Subsistema de Linux en Windows como entorno
de trabajo, la única opción que tienes es utilizar la herramienta ``poedit``
para traducir y ajustar el largo de cada línea.

Si vas a *Preferences -> Advanced* podrás encontrar una forma de seleccionar
que los *Line endings* sean *Unix (recommended)* y que la opción **Wrap
at** esté activada y tenga el valor **70**.

La razón de estos problemas, es que ``powrap`` utiliza una dependencia
llamada ``msgcat`` que provee el paquete ``gettext`` que usualmente
se puede instalar en macOS y Linux, pero no en Windows.

.. _pospell_windows:

Utilizar ``pospell`` en Windows
-------------------------------

La herramienta ``pospell`` depende de un paquete llamado ``hunspell``, y que no
se instala por defecto mediante ``pip``. Para instalar la dependencia tienes
dos opciones:

#. Utilizar el paquete que provee una iniciativa llamada
*exwinports*, que puedes seleccionar desde esta
`lista de archivos <https://sourceforge.net/projects/ezwinports/files/>`_.
Luego descomprimes el archivo en algún lugar como ``C:\hunspell\``,
y agregas dicho directorio al ``PATH``::

set PATH=C:\hunspell\bin;%PATH%

y finalmente, descarga un diccionario ``es_ES`` de algún lugar,
por ejemplo, de `acá <https://kitscenarist.ru/downloads/hunspell/>`_.
#. Utilizar el subsistema Linux, y configurar todo desde dicho sistema,
clonando el repositorio y todo desde ahí. Luego ejecutas la instalación
de ``pospell`` (via pip) y ``hunspell`` (via apt-get) para utilizar
las herramientas desde ahí.

.. note:: Tendrás que tener todo configurado en el subsistema Linux para
poder utilizar esta opción.

3 changes: 3 additions & 0 deletions .overrides/translation-memory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ Dividimos esta sección en dos partes, los términos que se traducen y los que m

auditing event
evento de auditoría ``library/tempfile`` and many others

array
arreglo

awaitable
aguardable ``glossary``
Expand Down
65 changes: 45 additions & 20 deletions c-api/code.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: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-16 13:04+0200\n"
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
"Language: es\n"
"PO-Revision-Date: 2022-10-30 17:20-0300\n"
"Last-Translator: Sofía Denner <sofi.denner@gmail.com>\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: Babel 2.10.3\n"
"X-Generator: Poedit 3.2\n"

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

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

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

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

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

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

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

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

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

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

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

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

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

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