Skip to content

Commit c609c52

Browse files
authored
Merge branch '3.13' into 3.10
2 parents 5f3b136 + 60eaf6f commit c609c52

File tree

582 files changed

+215999
-134366
lines changed

Some content is hidden

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

582 files changed

+215999
-134366
lines changed

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Set update schedule for GitHub Actions
2+
3+
version: 2
4+
updates:
5+
6+
- package-ecosystem: "github-actions"
7+
directory: "/"
8+
schedule:
9+
# Check for updates to GitHub Actions every week
10+
interval: "weekly"
11+

.github/workflows/main.yml

Lines changed: 67 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,87 @@ on:
66
- 3.*
77
pull_request:
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
test:
1114
name: Test
12-
runs-on: ubuntu-latest
15+
runs-on: ubuntu-22.04
1316
steps:
14-
- uses: actions/checkout@v2
15-
- name: Preparar Python v3.10
16-
uses: actions/setup-python@v2
17+
# Obtención del código
18+
- uses: actions/checkout@v4
1719
with:
18-
python-version: "3.10"
19-
- name: Sincronizar con CPython
20-
run: |
21-
git submodule update --init --depth=1 cpython
22-
- name: Instalar dependencias
20+
submodules: 'true'
21+
# Necesario para que tj-actions/changed-files se ejecute
22+
# dentro de un tiempo adecuado
23+
fetch-depth: 2
24+
25+
# Instalación de dependencias
26+
- name: Preparar Python v3.13
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: "3.13"
30+
cache: "pip"
31+
- name: Configura dpkg/apt para ejecutarse de manera eficiente
32+
uses: abbbi/github-actions-tune@v1
33+
- name: Deshabilita triggers de postgresql-common
34+
run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File
35+
- name: Instalar dependencias de sistema
2336
run: |
2437
sudo apt-get update
25-
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es
38+
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all
39+
- name: Instalar dependencias de Python
40+
run: |
2641
python -m pip install -r requirements.txt
42+
- name: Listar paquetes y versiones
43+
run: |
2744
pip list
2845
pospell --version
2946
powrap --version
47+
48+
# Cálculo de los archivos .po a verificar.
49+
# En el caso de un PR, sólo se chequean los .po que se están editando,
50+
# mientras que en caseo de un push a las ramas 3.* queremos revisar
51+
# todos los archivos
52+
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs)
53+
if: github.event_name == 'pull_request'
54+
id: changed-po-files
55+
uses: tj-actions/changed-files@v45
56+
with:
57+
files: |
58+
**/*.po
59+
- name: Calcula lista de archivos .po a revisar
60+
id: po-files-to-check
61+
env:
62+
PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }}
63+
run: |
64+
echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT
65+
echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT
66+
- name: Muestra outputs de steps anteriores para debugueo
67+
env:
68+
CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }}
69+
PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }}
70+
run: |
71+
echo "steps.changed-po-files=$PO_FILES_TO_CHECK"
72+
echo "steps.po-files-to-change.$CHANGED_PO_FILES"
73+
74+
# Chequeos a realizar
3075
- name: TRANSLATORS
3176
run: |
3277
diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS)
3378
- name: Powrap
34-
run: powrap --check --quiet **/*.po
79+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
80+
run: powrap --diff --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }}
81+
- name: Sphinx lint
82+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
83+
run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }}
3584
- name: Pospell
36-
run: |
37-
python scripts/check_spell.py
85+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
86+
run: python scripts/check_spell.py ${{ steps.po-files-to-check.outputs.po_files_to_check }}
87+
88+
# Construcción de la documentación
3889
- name: Construir documentación
39-
run: PYTHONWARNINGS=ignore::FutureWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html
90+
run: |
91+
# Normal build
92+
PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html

.github/workflows/pr-comment.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Agrega comentario a PR
2+
3+
on:
4+
pull_request_target:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
define-comment:
11+
name: Entradas sin traducción
12+
runs-on: ubuntu-22.04
13+
outputs:
14+
any_changed: ${{ steps.changed-files.outputs.any_changed }}
15+
comment: ${{ steps.create-pr-comment.outputs.comment }}
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
ref: ${{ github.event.pull_request.head.sha }}
20+
persist-credentials: false
21+
- name: Preparar Python v3.13
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: "3.13"
25+
cache: "pip"
26+
# checkout these files from the base branch to guarantee they haven't been
27+
# modified by the PR
28+
- uses: actions/checkout@v4
29+
with:
30+
path: base-branch
31+
sparse-checkout-cone-mode: false
32+
sparse-checkout: |
33+
requirements.txt
34+
scripts/list_missing_entries.py
35+
- name: Instalar dependencias
36+
run: |
37+
python -m pip install -r base-branch/requirements.txt
38+
- name: Obtiene lista de archivos con cambios
39+
id: changed-files
40+
uses: tj-actions/changed-files@v45
41+
with:
42+
files: |
43+
**/*.po
44+
- name: Calcular entradas faltantes
45+
if: steps.changed-files.outputs.any_changed == 'true'
46+
id: create-pr-comment
47+
env:
48+
CHANGED_PO_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
49+
run: |
50+
{
51+
echo 'comment<<EOF'
52+
python base-branch/scripts/list_missing_entries.py --github $CHANGED_PO_FILES
53+
echo EOF
54+
} >> "$GITHUB_OUTPUT"
55+
56+
write-comment:
57+
runs-on: ubuntu-22.04
58+
needs: [define-comment]
59+
if: needs.define-comment.outputs.any_changed == 'true'
60+
permissions:
61+
issues: write
62+
pull-requests: write
63+
steps:
64+
- name: Agregar comentario con entradas faltantes
65+
uses: thollander/actions-comment-pull-request@v3
66+
with:
67+
message: ${{ needs.define-comment.outputs.comment }}
68+
comment-tag: missing-entries

.github/workflows/stale.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: 'Cierra issues y PRs antiguos'
2+
on:
3+
schedule:
4+
- cron: '30 1 * * *'
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
stale:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
issues: write
14+
pull-requests: write
15+
steps:
16+
- uses: actions/stale@v9
17+
with:
18+
stale-pr-label: 'needs decision'
19+
stale-issue-label: 'stale'
20+
days-before-issue-stale: 10
21+
# don't close issues, lest we miss translations
22+
days-before-issue-close: -1
23+
days-before-pr-stale: 7
24+
days-before-pr-close: 21
25+
stale-issue-message: "Este issue lleva un tiempo sin actualizaciones. ¿Estás trabajando todavía?\nSi necesitas ayuda :sos: no dudes en contactarnos en nuestro [grupo de Telegram](https://t.me/python_docs_es)."
26+
stale-pr-message: "Este PR lleva un tiempo sin actualizaciones. Vamos a pedir a un admin de nuestro equipo que decida si alguien más puede finalizarlo o si tenemos que cerrarlo.\nPor favor, avisanos en caso de que aún puedas terminarlo."
27+
include-only-assigned: true

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,9 @@ coverage.xml
7575

7676
# OSX
7777
.DS_Store
78+
79+
.potodo/
80+
git_diff.po
81+
CONTRIBUTING.po
82+
reviewers-guide.po
83+
upgrade-python-version.po

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,3 @@
33
url = https://github.com/python/cpython.git
44
branch = 3.9
55
shallow = true
6-
[submodule "tutorialpyar"]
7-
path = .migration/tutorialpyar
8-
url = https://github.com/pyar/tutorial.git

.migration/tutorialpyar

Lines changed: 0 additions & 1 deletion
This file was deleted.

.overrides/CONTRIBUTING.rst

Lines changed: 74 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,17 @@ contribución, queremos señalar algunos
1818

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

21-
Antes de comenzar
22-
-----------------
21+
También puedes unirte a `nuestro canal de Telegram`_ si necesitas ayuda.
22+
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.
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.
2332

2433
#. Para enviar una traducción, necesitas tener un **fork** del repositorio_
2534
oficial, haciendo click en el botón encerrado en rojo.
@@ -59,32 +68,80 @@ Antes de comenzar
5968
``powrap`` y ``pospell`` para poder verificar tus archivos traducidos,
6069
y también construir la documentación localmente.
6170

62-
¡Comienza a traducir!
63-
---------------------
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:
79+
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+
-----------------------------
6489

65-
#. Selecciona un :ref:`archivo para traducir <que-archivo-traducir>`.
90+
#. Tener un :ref:`archivo asignado para traducir <que-archivo-traducir>`.
6691

67-
#. Verifica que estás en la rama principal del repositorio, **3.10** (esto es muy
92+
#. Verifica que estás en la rama principal del repositorio, **3.12** (esto es muy
6893
importante para evitar crear una nueva rama a partir de una traducción
6994
anterior)::
7095

71-
git checkout 3.10
96+
git checkout 3.12
7297

7398
#. Crea una rama nueva en base al artículo en el que vayas a trabajar. Por
74-
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
75100
similar a::
76101

77-
git checkout -b traduccion-glosario
102+
git checkout -b traduccion-ast
78103

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

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+
82138
#. Cuando hayas terminado tu sesión, debes guardar tus cambios y enviarlos a
83-
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::
84141

85-
git add library/glosario.po
86-
git commit -m 'Traducido archivo library/glosario'
87-
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
88145

89146
.. note::
90147

@@ -104,22 +161,6 @@ Antes de comenzar
104161
:ref:`mantener actualizada <mantener-actualizada>` tu copia local antes
105162
de realizar el *Pull Request*.
106163

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

125166
A tener en cuenta
@@ -182,11 +223,6 @@ A tener en cuenta
182223
esperamos en nuestro chat en telegram. ¡Gracias!
183224

184225

185-
.. note::
186-
187-
También puedes unirte a `nuestro canal de Telegram`_ si necesitas ayuda.
188-
189-
190226
Previsualizar los cambios
191227
-------------------------
192228

@@ -205,9 +241,9 @@ Memoria de traducción
205241
---------------------
206242

207243
Tenemos una :doc:`Memoria de Traducción <translation-memory>`, que usamos para tener consistencia con algunos
208-
términos.
244+
términos.
209245
Si tienes alguna duda respecto a cómo traducir alguna palabra no te olvides de revisar este contenido.
210-
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:
211247
no se olviden de agregarlo.
212248

213249

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

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

0 commit comments

Comments
 (0)