From 2153a814f650101b878e7148e389f7883ae32fae Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 13 Nov 2024 12:39:28 +0800 Subject: [PATCH 1/5] Fix re.po syntax A msgstr was missing its opening double quotes, which gettext's msgcat complained about (but powrap and polib didn't). See https://git.afpy.org/AFPy/powrap/pulls/4 and https://github.com/izimobil/polib/pull/161 for PRs to fix both of those. Signed-off-by: Rodrigo Tobar --- library/re.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/re.po b/library/re.po index ed6ef6f262..ef797042dc 100644 --- a/library/re.po +++ b/library/re.po @@ -2810,7 +2810,7 @@ msgstr "$ (dólar)" #: ../Doc/library/re.rst:123 msgid "* (asterisk)" -msgstr * (asterisco)" +msgstr "* (asterisco)" #: ../Doc/library/re.rst:130 msgid "+ (plus)" From eeb179dffa2e3aeef9c7c44cde15d4516e725806 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 13 Nov 2024 12:40:56 +0800 Subject: [PATCH 2/5] powrap library/re.po now that it's a valid pofile Signed-off-by: Rodrigo Tobar --- library/re.po | 157 ++++++++++++++++++++++++++------------------------ 1 file changed, 82 insertions(+), 75 deletions(-) diff --git a/library/re.po b/library/re.po index ef797042dc..3f42a1d9d9 100644 --- a/library/re.po +++ b/library/re.po @@ -208,10 +208,10 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" -"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}``, etc.) " -"no pueden ser anidados directamente. Esto evita la ambigüedad con el sufijo " -"modificador no codicioso ``?``, y con otros modificadores en " -"otras implementaciones. Para aplicar una segunda repetición a una repetición " +"Los operadores de repetición o cuantificadores (``*``, ``+``, ``?``, ``{m,n}" +"``, etc.) no pueden ser anidados directamente. Esto evita la ambigüedad con " +"el sufijo modificador no codicioso ``?``, y con otros modificadores en otras " +"implementaciones. Para aplicar una segunda repetición a una repetición " "interna, se pueden usar paréntesis. Por ejemplo, la expresión ``(?:a{6})*`` " "coincide con cualquier múltiplo de seis caracteres ``'a'``." @@ -358,14 +358,14 @@ msgstr "" "permiten retroceder cuando la expresión que le sigue no coincide. Estos se " "conocen como cuantificadores :dfn:`possessive`. Por ejemplo, ``a*a`` " "coincidirá con ``'aaaa'`` porque la ``a*`` coincidirá con los 4 ``'a'``\\ s, " -"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de " -"modo que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y " -"la cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando " -"``a*+a`` se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con " -"los 4 ``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " -"coincidir, la expresión no puede retroceder y, por lo tanto, no " -"coincidirá. ``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?" -">x+)`` and ``(?>x?)`` correspondientemente." +"pero, cuando se encuentra la ``'a'`` final, la expresión retrocede de modo " +"que al final la ``a*`` termina coincidiendo con 3 ``'a'``\\ s total, y la " +"cuarta ``'a'`` coincide con la final ``'a'``. Sin embargo, cuando ``a*+a`` " +"se usa para que coincida con ``'aaaa'``, el ``a*+`` coincidirá con los 4 " +"``'a'``, pero cuando el ``'a'`` final no encuentra más caracteres para " +"coincidir, la expresión no puede retroceder y, por lo tanto, no coincidirá. " +"``x*+``, ``x++`` and ``x?+`` son equivalentes a ``(?>x*)``, ``(?>x+)`` and " +"``(?>x?)`` correspondientemente." #: ../Doc/library/re.rst:187 msgid "``{m}``" @@ -782,12 +782,12 @@ msgstr "" "separada, y si tiene éxito, continúa coincidiendo con el resto del patrón " "que la sigue. Si el patrón posterior no coincide, la pila solo se puede " "desenrollar a un punto *antes* del ``(?>...)`` Porque una vez que salió, la " -"expresión, conocida como :dfn:`grupo atomico `, ha desechado todos los puntos de pila " -"dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca coincidiría con nada " -"porque primero el ``.*`` coincidiría con todos los caracteres posibles, " -"luego, al no tener nada que igualar, el ``.`` final no coincidiría. Dado que " -"no hay puntos de pila guardados en el Grupo Atómico, y no hay ningún punto " -"de pila antes de él, toda la expresión no coincidiría." +"expresión, conocida como :dfn:`grupo atomico `, ha desechado " +"todos los puntos de pila dentro de sí misma. Por lo tanto, ``(?>.*).`` nunca " +"coincidiría con nada porque primero el ``.*`` coincidiría con todos los " +"caracteres posibles, luego, al no tener nada que igualar, el ``.`` final no " +"coincidiría. Dado que no hay puntos de pila guardados en el Grupo Atómico, y " +"no hay ningún punto de pila antes de él, toda la expresión no coincidiría." #: ../Doc/library/re.rst:424 msgid "``(?P...)``" @@ -869,8 +869,8 @@ msgid "" "In :class:`bytes` patterns, group *name* can only contain bytes in the ASCII " "range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede contener " -"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"En patrones de tipo :class:`bytes`, el nombre del grupo *name* solo puede " +"contener bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:430 msgid "``(?P=name)``" @@ -1006,9 +1006,9 @@ msgid "" "Group *id* can only contain ASCII digits. In :class:`bytes` patterns, group " "*name* can only contain bytes in the ASCII range (``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En patrones de " -"tipo :class:`bytes`, el *name* del grupo solo puede contener bytes " -"en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En patrones de tipo :" +"class:`bytes`, el *name* del grupo solo puede contener bytes en el rango " +"ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:506 msgid "" @@ -1208,8 +1208,9 @@ msgid "" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" "Coincide con los caracteres de palabras Unicode; esto incluye los caracteres " -"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión bajo " -"(``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con ``[a-zA-Z0-9_]``." +"alfanuméricos (como se define por :meth:`str.isalnum`) así como el guión " +"bajo (``_``). Si se utiliza la bandera :const:`ASCII`, sólo coincide con " +"``[a-zA-Z0-9_]``." #: ../Doc/library/re.rst:604 msgid "" @@ -1254,8 +1255,8 @@ msgid "" "string literals are also accepted by the regular expression parser::" msgstr "" "La mayoría de las :ref:`secuencias de escape ` soportadas " -"por los literales de cadena de Python también son aceptadas por el analizador " -"de expresiones regulares::" +"por los literales de cadena de Python también son aceptadas por el " +"analizador de expresiones regulares::" #: ../Doc/library/re.rst:644 msgid "" @@ -1482,9 +1483,9 @@ msgid "" msgstr "" "Indica que no se aplica ninguna bandera, el valor es ``0``. Esta bandera " "puede ser utilizada como valor predeterminado para un argumento de palabra " -"clave de función o como un valor que será condicionalmente combinado " -"con otras banderas usando el operador binario OR. Ejemplo de uso como " -"valor predeterminado::" +"clave de función o como un valor que será condicionalmente combinado con " +"otras banderas usando el operador binario OR. Ejemplo de uso como valor " +"predeterminado::" #: ../Doc/library/re.rst:779 msgid "" @@ -1503,13 +1504,15 @@ msgid "" "include Unicode characters in matches. Since Python 3, Unicode characters " "are matched by default." msgstr "" -"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` " -"incluyeran caracteres Unicode en las coincidencias. Desde Python 3, los caracteres " -"Unicode se coinciden por defecto." +"En Python 2, esta bandera hacía que :ref:`secuencias especiales ` incluyeran caracteres Unicode en las coincidencias. Desde Python " +"3, los caracteres Unicode se coinciden por defecto." #: ../Doc/library/re.rst:791 msgid "See :const:`A` for restricting matching on ASCII characters instead." -msgstr "Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su lugar." +msgstr "" +"Ver :const:`A` para restringir la coincidencia a caracteres ASCII en su " +"lugar." #: ../Doc/library/re.rst:793 msgid "This flag is only kept for backward compatibility." @@ -1613,9 +1616,9 @@ msgid "" "pattern; note that this is different from finding a zero-length match at " "some point in the string." msgstr "" -"Explora la cadena de caracteres *string* en busca de la primera ubicación donde el " -"patrón *pattern* de la expresión regular produce una coincidencia, y " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " +"Explora la cadena de caracteres *string* en busca de la primera ubicación " +"donde el patrón *pattern* de la expresión regular produce una coincidencia, " +"y retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si ninguna " "posición en la cadena coincide con el patrón; nota que esto es diferente a " "encontrar una coincidencia de longitud cero en algún punto de la cadena." @@ -1626,8 +1629,8 @@ msgid "" "``None`` if the string does not match the pattern; note that this is " "different from a zero-length match." msgstr "" -"Si cero o más caracteres al principio de la cadena *string* coinciden con " -"el patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " +"Si cero o más caracteres al principio de la cadena *string* coinciden con el " +"patrón *pattern* de la expresión regular, retorna un :class:`~re.Match` " "correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " "notar que esto es diferente de una coincidencia de longitud cero." @@ -1654,10 +1657,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con el patrón *pattern* de la " -"expresión regular, retorna un :class:`~re.Match` correspondiente. Retorna " -"``None`` si la cadena no coincide con el patrón; notar que esto es diferente " -"de una coincidencia de longitud cero." +"Si toda la cadena *string* coincide con el patrón *pattern* de la expresión " +"regular, retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si " +"la cadena no coincide con el patrón; notar que esto es diferente de una " +"coincidencia de longitud cero." #: ../Doc/library/re.rst:889 msgid "" @@ -1752,10 +1755,10 @@ msgid "" "scanned left-to-right, and matches are returned in the order found. Empty " "matches are included in the result." msgstr "" -"Retorna un :term:`iterador ` que produce objetos :class:`~re.Match` sobre " -"todas las coincidencias no superpuestas para el patrón de RE *pattern* en la " -"*string*. La *string* es examinada de izquierda a derecha, y las " -"coincidencias son retornadas en el orden en que se encuentran. Las " +"Retorna un :term:`iterador ` que produce objetos :class:`~re." +"Match` sobre todas las coincidencias no superpuestas para el patrón de RE " +"*pattern* en la *string*. La *string* es examinada de izquierda a derecha, y " +"las coincidencias son retornadas en el orden en que se encuentran. Las " "coincidencias vacías se incluyen en el resultado." #: ../Doc/library/re.rst:966 @@ -1869,9 +1872,9 @@ msgid "" "strings, group *name* can only contain bytes in the ASCII range " "(``b'\\x00'``-``b'\\x7f'``)." msgstr "" -"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de reemplazo " -":class:`bytes`, el nombre del grupo *name* solo puede contener bytes en el rango ASCII " -"(``b'\\x00'``-``b'\\x7f'``)." +"El *id* del grupo solo puede contener dígitos ASCII. En las cadenas de " +"reemplazo :class:`bytes`, el nombre del grupo *name* solo puede contener " +"bytes en el rango ASCII (``b'\\x00'``-``b'\\x7f'``)." #: ../Doc/library/re.rst:1041 msgid "" @@ -1977,8 +1980,8 @@ msgid "" ":py:class:`re.Pattern` supports ``[]`` to indicate a Unicode (str) or bytes " "pattern. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Pattern` soporta ``[]`` para indicar un patrón Unicode (str) o " +"de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1140 msgid "" @@ -1988,10 +1991,10 @@ msgid "" "this is different from finding a zero-length match at some point in the " "string." msgstr "" -"Escanea a través de la cadena *string* buscando la primera ubicación " -"donde esta expresión regular produce una coincidencia, y retorna un :class:" -"`~re.Match` correspondiente. Retorna ``None`` si ninguna posición en la " -"cadena coincide con el patrón; notar que esto es diferente a encontrar una " +"Escanea a través de la cadena *string* buscando la primera ubicación donde " +"esta expresión regular produce una coincidencia, y retorna un :class:`~re." +"Match` correspondiente. Retorna ``None`` si ninguna posición en la cadena " +"coincide con el patrón; notar que esto es diferente a encontrar una " "coincidencia de longitud cero en algún punto de la cadena." #: ../Doc/library/re.rst:1145 @@ -2031,10 +2034,10 @@ msgid "" "the string does not match the pattern; note that this is different from a " "zero-length match." msgstr "" -"Si cero o más caracteres en el comienzo *beginning* de la cadena " -"*string* coinciden con esta expresión regular, retorna un :class:`~re.Match` " -"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; notar " -"que esto es diferente de una coincidencia de longitud cero." +"Si cero o más caracteres en el comienzo *beginning* de la cadena *string* " +"coinciden con esta expresión regular, retorna un :class:`~re.Match` " +"correspondiente. Retorna ``None`` si la cadena no coincide con el patrón; " +"notar que esto es diferente de una coincidencia de longitud cero." #: ../Doc/library/re.rst:1171 ../Doc/library/re.rst:1189 msgid "" @@ -2059,10 +2062,10 @@ msgid "" "corresponding :class:`~re.Match`. Return ``None`` if the string does not " "match the pattern; note that this is different from a zero-length match." msgstr "" -"Si toda la cadena *string* coincide con esta expresión regular, " -"retorna un :class:`~re.Match` correspondiente. Retorna ``None`` si la " -"cadena no coincide con el patrón; notar que esto es diferente de una " -"coincidencia de longitud cero." +"Si toda la cadena *string* coincide con esta expresión regular, retorna un :" +"class:`~re.Match` correspondiente. Retorna ``None`` si la cadena no " +"coincide con el patrón; notar que esto es diferente de una coincidencia de " +"longitud cero." #: ../Doc/library/re.rst:1203 msgid "Identical to the :func:`split` function, using the compiled pattern." @@ -2158,8 +2161,8 @@ msgid "" ":py:class:`re.Match` supports ``[]`` to indicate a Unicode (str) or bytes " "match. See :ref:`types-genericalias`." msgstr "" -":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode (str) o de bytes. " -"Ver :ref:`types-genericalias`." +":py:class:`re.Match` soporta ``[]`` para indicar una coincidencia Unicode " +"(str) o de bytes. Ver :ref:`types-genericalias`." #: ../Doc/library/re.rst:1283 msgid "" @@ -2559,11 +2562,14 @@ msgstr "search() vs. match()" #: ../Doc/library/re.rst:1591 msgid "" "Python offers different primitive operations based on regular expressions:" -msgstr "Python ofrece diferentes operaciones primitivas basadas en expresiones regulares:" +msgstr "" +"Python ofrece diferentes operaciones primitivas basadas en expresiones " +"regulares:" #: ../Doc/library/re.rst:1593 msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr ":func:`re.match` verifica una coincidencia solo al principio de la cadena" +msgstr "" +":func:`re.match` verifica una coincidencia solo al principio de la cadena" #: ../Doc/library/re.rst:1594 msgid "" @@ -2575,7 +2581,8 @@ msgstr "" #: ../Doc/library/re.rst:1596 msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr ":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" +msgstr "" +":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" #: ../Doc/library/re.rst:1608 msgid "" @@ -2697,12 +2704,12 @@ msgid "" "writer wanted to find all of the adverbs *and their positions* in some text, " "they would use :func:`finditer` in the following manner::" msgstr "" -"Si se desea obtener más información sobre todas las coincidencias de un patrón en " -"lugar del texto coincidente, :func:`finditer` es útil ya que proporciona :" -"class:`~re.Match` objetos en lugar de cadenas. " -"Continuando con el ejemplo anterior, si un escritor quisiera encontrar todos " -"los adverbios *y sus posiciones* en algún texto, usaría :func:`finditer` de " -"la siguiente manera::" +"Si se desea obtener más información sobre todas las coincidencias de un " +"patrón en lugar del texto coincidente, :func:`finditer` es útil ya que " +"proporciona :class:`~re.Match` objetos en lugar de cadenas. Continuando con " +"el ejemplo anterior, si un escritor quisiera encontrar todos los adverbios " +"*y sus posiciones* en algún texto, usaría :func:`finditer` de la siguiente " +"manera::" #: ../Doc/library/re.rst:1736 msgid "Raw String Notation" From 4901b5259f11e052dea8467ac65c338da3321b31 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 13 Nov 2024 18:34:23 +0800 Subject: [PATCH 3/5] Show diff when checking pofile wrapping Signed-off-by: Rodrigo Tobar --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0df4447290..a2fa0bd3eb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS) - name: Powrap if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' - run: powrap --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} + run: powrap --diff --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} - name: Sphinx lint if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }} From 8e1f8f2abeae5689caed27cfb62d3817ede2f1b4 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Fri, 15 Nov 2024 18:38:02 +0800 Subject: [PATCH 4/5] Use latest powrap to get more errors highlighted Signed-off-by: Rodrigo Tobar --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2fcc7884a6..6e54855066 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ PyICU polib pospell>=1.1 potodo -powrap +powrap>=1.0.2 python-docs-theme>=2022.1 setuptools sphinx-intl From 306e2c9ea4dc4187dfac51d219617876fd42bffb Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Fri, 15 Nov 2024 18:39:13 +0800 Subject: [PATCH 5/5] Update pre-commit hooks to point to latest powrap Not only a new version is out, powrap has also changed to a new home. Signed-off-by: Rodrigo Tobar --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 19cf58167f..a8e74fde4a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: -- repo: https://github.com/JulienPalard/powrap - rev: v0.4.0 +- repo: https://git.afpy.org/AFPy/powrap + rev: v1.0.2 hooks: - id: powrap - repo: local pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy