diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e8e7dd1474..f3dfb25fc5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,34 +11,77 @@ jobs: name: Test runs-on: ubuntu-22.04 steps: + # Obtención del código - uses: actions/checkout@v4 + with: + submodules: 'true' + # Necesario para que tj-actions/changed-files se ejecute + # dentro de un tiempo adecuado + fetch-depth: 2 + + # Instalación de dependencias - name: Preparar Python v3.11 uses: actions/setup-python@v4 with: python-version: "3.11" cache: "pip" - - name: Sincronizar con CPython + - name: Configura dpkg/apt para ejecutarse de manera eficiente + uses: abbbi/github-actions-tune@v1 + - name: Deshabilita triggers de postgresql-common + run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File + - name: Instalar dependencias de sistema run: | - git submodule update --init --depth=1 cpython - - name: Instalar dependencias + sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all + - name: Instalar dependencias de Python run: | - sudo apt-get update - sudo apt-get install -y hunspell hunspell-es gettext language-pack-es python -m pip install -r requirements.txt + - name: Listar paquetes y versiones + run: | pip list pospell --version powrap --version + + # Cálculo de los archivos .po a verificar. + # En el caso de un PR, sólo se chequean los .po que se están editando, + # mientras que en caseo de un push a las ramas 3.* queremos revisar + # todos los archivos + - name: Obtiene la lista de archivos .po con cambios (sólo en PRs) + if: github.event_name == 'pull_request' + id: changed-po-files + uses: tj-actions/changed-files@v40 + with: + files: | + **/*.po + - name: Calcula lista de archivos .po a revisar + id: po-files-to-check + env: + PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }} + run: | + echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT + echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT + - name: Muestra outputs de steps anteriores para debugueo + env: + CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }} + PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }} + run: | + echo "steps.changed-po-files=$PO_FILES_TO_CHECK" + echo "steps.po-files-to-change.$CHANGED_PO_FILES" + + # Chequeos a realizar - name: TRANSLATORS run: | diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS) - name: Powrap - run: powrap --check --quiet **/*.po + 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 }} - name: Sphinx lint - run: | - sphinx-lint */*.po + 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 }} - name: Pospell - run: | - python scripts/check_spell.py + if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' + run: python scripts/check_spell.py ${{ steps.po-files-to-check.outputs.po_files_to_check }} + + # Construcción de la documentación - name: Construir documentación run: | # FIXME: Relative paths for includes in 'cpython' diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml new file mode 100644 index 0000000000..7be6faccd1 --- /dev/null +++ b/.github/workflows/pr-comment.yml @@ -0,0 +1,45 @@ +name: Agrega comentario a PR + +on: + pull_request_target: + +jobs: + pr-comment: + name: Entradas sin traducción + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.merge_commit_sha }} + persist-credentials: false + - name: Preparar Python v3.11 + uses: actions/setup-python@v4 + with: + python-version: "3.11" + cache: "pip" + - name: Instalar dependencias + run: | + python -m pip install -r requirements.txt + - name: Obtiene lista de archivos con cambios + id: changed-files + uses: tj-actions/changed-files@v39 + with: + files: | + **/*.po + - name: Calcular entradas faltantes + if: steps.changed-files.outputs.any_changed == 'true' + id: create-pr-comment + env: + CHANGED_PO_FILES: ${{ steps.changed-files.outputs.all_changed_files }} + run: | + { + echo 'comment<> "$GITHUB_OUTPUT" + - name: Agregar comentario con entradas faltantes + if: steps.changed-files.outputs.any_changed == 'true' + uses: thollander/actions-comment-pull-request@v2 + with: + message: ${{ steps.create-pr-comment.outputs.comment }} + comment_tag: missing-entries diff --git a/library/abc.po b/library/abc.po index 7650699966..54bba9e0ea 100644 --- a/library/abc.po +++ b/library/abc.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 10:37+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:22+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/abc.rst:2 msgid ":mod:`abc` --- Abstract Base Classes" @@ -43,7 +44,6 @@ msgstr "" "de tipos para números basados en CBAs.)" #: ../Doc/library/abc.rst:20 -#, fuzzy msgid "" "The :mod:`collections` module has some concrete classes that derive from " "ABCs; these can, of course, be further derived. In addition, the :mod:" @@ -54,8 +54,8 @@ msgstr "" "El módulo :mod:`collections` tiene algunas clases concretas que se derivan " "de ABC; estos, por supuesto, pueden derivarse más. Además, el submódulo :mod:" "`collections.abc` tiene algunos ABC que se pueden usar para probar si una " -"clase o instancia proporciona una interfaz en particular, por ejemplo, si es " -"hash o si es un mapeo." +"clase o instancia proporciona una interfaz en particular, por ejemplo, si " +"es :term:`hashable` o si es un mapeo." #: ../Doc/library/abc.rst:27 msgid "" diff --git a/library/asynchat.po b/library/asynchat.po index 48cfc84022..349cbe42ff 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -11,8 +11,8 @@ 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: 2022-11-11 17:02-0300\n" -"Last-Translator: Sofía Denner \n" +"PO-Revision-Date: 2023-11-02 09:23+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/asynchat.rst:2 msgid ":mod:`asynchat` --- Asynchronous socket command/response handler" @@ -73,7 +73,6 @@ msgstr "" "`asyncore.dispatcher` genera nuevos objetos de canal :class:`asynchat." "async_chat`, al recibir peticiones de conexión entrantes." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index fb491082d0..0446082713 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -11,7 +11,7 @@ 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: 2023-11-01 14:32+0100\n" +"PO-Revision-Date: 2023-11-02 09:24+0100\n" "Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -982,15 +982,14 @@ msgstr "" "conexión esté abierta." #: ../Doc/library/asyncio-protocol.rst:556 -#, fuzzy msgid "" "However, :meth:`protocol.eof_received() ` is called " "at most once. Once ``eof_received()`` is called, ``data_received()`` is not " "called anymore." msgstr "" "Sin embargo, :meth:`protocol.eof_received() ` se " -"llama como máximo una vez. En el momento que se llama a `eof_received()`, ya " -"no se llama a ``data_received()``." +"llama como máximo una vez. Luego de llamar a ``eof_received()``, ya no se " +"llama más a ``data_received()``." #: ../Doc/library/asyncio-protocol.rst:562 msgid "" diff --git a/library/asyncore.po b/library/asyncore.po index 9d77eca5a9..4b5c9fba99 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -11,8 +11,8 @@ 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: 2022-11-26 16:40-0300\n" -"Last-Translator: Sofía Denner \n" +"PO-Revision-Date: 2023-11-04 23:10+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/asyncore.rst:2 msgid ":mod:`asyncore` --- Asynchronous socket handler" @@ -54,7 +54,6 @@ msgstr "" "Este módulo proporciona la infraestructura básica para escribir servicio de " "socket asincrónicos, clientes y servidores." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -496,7 +495,6 @@ msgstr "" "pasará al constructor :class:`file_wrapper`." #: ../Doc/library/asyncore.rst:283 ../Doc/library/asyncore.rst:292 -#, fuzzy msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidad `: Unix." diff --git a/library/audit_events.po b/library/audit_events.po index b0bf32273b..b4a6c96c7c 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 10:33+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:27+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: 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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/audit_events.rst:6 msgid "Audit events table" @@ -134,6 +135,5 @@ msgid "``obj``" msgstr "``obj``" #: ../Doc/library/audit_events.rst:3 -#, fuzzy msgid "audit events" -msgstr "Evento de auditoría" +msgstr "eventos de auditoría" diff --git a/library/code.po b/library/code.po index a09f28d2de..99b8e2170f 100644 --- a/library/code.po +++ b/library/code.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 10:30+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:44+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/code.rst:2 msgid ":mod:`code` --- Interpreter base classes" @@ -305,7 +306,6 @@ msgid "Print an exit message when exiting." msgstr "Imprime un mensaje de salida al salir." #: ../Doc/library/code.rst:164 -#, fuzzy msgid "" "Push a line of source text to the interpreter. The line should not have a " "trailing newline; it may have internal newlines. The line is appended to a " @@ -319,13 +319,13 @@ msgid "" msgstr "" "Envía una línea de texto fuente al intérprete. La línea no debe tener un " "salto de línea al final; puede tener nuevas líneas internas. La línea se " -"agrega a un búfer y se llama al método :meth:`runsource` del intérprete con " -"el contenido concatenado del búfer y la nueva fuente. Si indica que el " -"comando se ejecutó o no es válido, el búfer se restablece; de lo contrario, " -"el comando está incompleto y el búfer se deja como estaba después de agregar " -"la línea. Si se requieren más entradas el valor de retorno es ``True``, " -"``False`` si la línea se procesó de alguna manera (esto es lo mismo que :" -"meth:`runsource`)." +"agrega a un búfer y se llama al método :meth:`~InteractiveInterpreter." +"runsource` del intérprete con el contenido concatenado del búfer y la nueva " +"fuente. Si indica que el comando se ejecutó o no es válido, el búfer se " +"restablece; de lo contrario, el comando está incompleto y el búfer se deja " +"como estaba después de agregar la línea. Si se requieren más entradas el " +"valor de retorno es ``True``, ``False`` si la línea se procesó de alguna " +"manera (esto es lo mismo que :meth:`!runsource`)." #: ../Doc/library/code.rst:176 msgid "Remove any unhandled source text from the input buffer." diff --git a/library/collections.po b/library/collections.po index 47def58557..81837cf3ce 100644 --- a/library/collections.po +++ b/library/collections.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-02-07 17:29+0100\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-04 23:12+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" @@ -72,9 +73,8 @@ msgid ":class:`Counter`" msgstr ":class:`Counter`" #: ../Doc/library/collections.rst:28 -#, fuzzy msgid "dict subclass for counting :term:`hashable` objects" -msgstr "subclase de *dict* para contar objetos *hashables*" +msgstr "subclase de *dict* para contar objetos :term:`hashable`" #: ../Doc/library/collections.rst:29 msgid ":class:`OrderedDict`" @@ -378,7 +378,6 @@ msgstr "" "y convenientes. Por ejemplo::" #: ../Doc/library/collections.rst:245 -#, fuzzy msgid "" "A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable` " "objects. It is a collection where elements are stored as dictionary keys and " @@ -386,12 +385,12 @@ msgid "" "integer value including zero or negative counts. The :class:`Counter` class " "is similar to bags or multisets in other languages." msgstr "" -"Una clase :class:`Counter` es una subclase :class:`dict` para contar objetos " -"hashables. Es una colección donde los elementos se almacenan como claves de " -"diccionario y sus conteos se almacenan como valores de diccionario. Se " -"permite que los conteos sean cualquier valor entero, incluidos los conteos " -"de cero o negativos. La clase :class:`Counter` es similar a los *bags* o " -"multiconjuntos en otros idiomas." +"Una clase :class:`Counter` es una subclase :class:`dict` para contar " +"objetos :term:`hashable`. Es una colección donde los elementos se almacenan " +"como claves de diccionario y sus conteos se almacenan como valores de " +"diccionario. Se permite que los conteos sean cualquier valor entero, " +"incluidos los conteos de cero o negativos. La clase :class:`Counter` es " +"similar a los *bags* o multiconjuntos en otros idiomas." #: ../Doc/library/collections.rst:251 msgid "" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 1bfbb832ae..28215da826 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-10-19 18:52-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" +"PO-Revision-Date: 2023-11-04 23:12+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -55,12 +55,10 @@ msgstr "" "definida por la clase abstracta :class:`Executor`." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 -#, fuzzy msgid "" "This module does not work or is not available on WebAssembly platforms " "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " diff --git a/library/concurrent.po b/library/concurrent.po index e7cff2c02a..bc11ee5aec 100644 --- a/library/concurrent.po +++ b/library/concurrent.po @@ -11,20 +11,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-11-30 12:18-0600\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:44+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/concurrent.rst:2 -#, fuzzy msgid "The :mod:`!concurrent` package" -msgstr "El paquete :mod:`concurrent`" +msgstr "El paquete :mod:`!concurrent`" #: ../Doc/library/concurrent.rst:4 msgid "Currently, there is only one module in this package:" diff --git a/library/crypto.po b/library/crypto.po index e9ca6b9c4b..aaec7177df 100644 --- a/library/crypto.po +++ b/library/crypto.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-01-13 13:31-0300\n" -"Last-Translator: Francisco Mora \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:44+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/crypto.rst:5 msgid "Cryptographic Services" @@ -38,6 +39,5 @@ msgstr "" "una descripción:" #: ../Doc/library/crypto.rst:7 -#, fuzzy msgid "cryptography" -msgstr "Servicios criptográficos" +msgstr "criptografía" diff --git a/library/custominterp.po b/library/custominterp.po index 01c8497b77..12157ab3be 100644 --- a/library/custominterp.po +++ b/library/custominterp.po @@ -11,22 +11,22 @@ 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: 2020-10-30 12:17-0500\n" -"Last-Translator: \n" -"Language: es_CO\n" +"PO-Revision-Date: 2023-11-02 12:46+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_CO\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.4\n" #: ../Doc/library/custominterp.rst:5 msgid "Custom Python Interpreters" msgstr "Intérpretes de Python personalizados" #: ../Doc/library/custominterp.rst:7 -#, fuzzy msgid "" "The modules described in this chapter allow writing interfaces similar to " "Python's interactive interpreter. If you want a Python interpreter that " diff --git a/library/devmode.po b/library/devmode.po index bbce61fc6a..0f7a00991c 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 22:10-0500\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-04 23:14+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/devmode.rst:4 msgid "Python Development Mode" @@ -158,7 +159,6 @@ msgstr "" "envvar:`PYTHONMALLOC` a ``default``." #: ../Doc/library/devmode.rst:61 -#, fuzzy msgid "" "Call :func:`faulthandler.enable` at Python startup to install handlers for " "the :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal." @@ -166,9 +166,9 @@ msgid "" "dump the Python traceback on a crash." msgstr "" "Llama a :func:`faulthandler.enable` al inicio de Python para instalar los " -"handlers(manejadores) de las señales :const:`SIGSEGV`, :const:`SIGFPE`, :" -"const:`SIGABRT`, :const:`SIGBUS` y :const:`SIGILL` para volcar la traza de " -"Python en caso de fallo." +"handlers(manejadores) de las señales :const:`~signal.SIGSEGV`, :const:" +"`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` y :const:" +"`~signal.SIGILL` para volcar la traza de Python en caso de fallo." #: ../Doc/library/devmode.rst:66 msgid "" @@ -222,12 +222,11 @@ msgstr "" "El destructor de :class:`io.IOBase` registra las excepciones ``close()``." #: ../Doc/library/devmode.rst:85 -#, fuzzy msgid "" "Set the :attr:`~sys.flags.dev_mode` attribute of :data:`sys.flags` to " "``True``." msgstr "" -"Establece el atributo :attr:`~sys.flags.dev_mode` de :attr:`sys.flags` a " +"Establece el atributo :attr:`~sys.flags.dev_mode` de :data:`sys.flags` a " "``True``." #: ../Doc/library/devmode.rst:88 diff --git a/library/email.encoders.po b/library/email.encoders.po index 3a9f198f21..0c90bdad9d 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-07 18:10+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:47+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.encoders.rst:2 msgid ":mod:`email.encoders`: Encoders" @@ -74,7 +75,6 @@ msgstr "" "contienen datos binarios." #: ../Doc/library/email.encoders.rst:27 -#, fuzzy msgid "" "The :mod:`email` package provides some convenient encoders in its :mod:" "`~email.encoders` module. These encoders are actually used by the :class:" @@ -86,14 +86,14 @@ msgid "" "appropriate." msgstr "" "El paquete :mod:`email` proporciona algunos codificadores adecuados en su " -"módulo :mod:`encoders`. Estos codificadores son en realidad utilizados por " -"los constructores de las clases :class:`~email.mime.audio.MIMEAudio` y :" -"class:`~email.mime.image.MIMEImage` para proporcionar codificadores por " -"defecto. Todas las funciones de codificación tienen exactamente un " -"argumento, el mensaje a codificar Normalmente extraen el contenido, lo " -"codifican y borran el contenido para introducir el nuevo contenido " -"codificado. También deberían marcar el encabezado :mailheader:`Content-" -"Transfer-Encoding` como apropiado." +"módulo :mod:`~email.encoders`. Estos codificadores son en realidad " +"utilizados por los constructores de las clases :class:`~email.mime.audio." +"MIMEAudio` y :class:`~email.mime.image.MIMEImage` para proporcionar " +"codificadores por defecto. Todas las funciones de codificación tienen " +"exactamente un argumento, el mensaje a codificar. Normalmente extraen el " +"contenido, lo codifican y borran el contenido para introducir el nuevo " +"contenido codificado. También deberían marcar el encabezado :mailheader:" +"`Content-Transfer-Encoding` como apropiado." #: ../Doc/library/email.encoders.rst:35 msgid "" diff --git a/library/email.parser.po b/library/email.parser.po index 0754bd49af..89ebc49d6c 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-07-26 11:31-0500\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-02 12:47+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/email.parser.rst:2 msgid ":mod:`email.parser`: Parsing email messages" @@ -95,7 +96,6 @@ msgstr "" "el analizador." #: ../Doc/library/email.parser.rst:39 -#, fuzzy msgid "" "Note that the parser can be extended in limited ways, and of course you can " "implement your own parser completely from scratch. All of the logic that " @@ -109,10 +109,10 @@ msgstr "" "por supuesto puedes implementar tu propio analizador completamente desde " "cero. Toda la lógica que conecta el analizador empaquetado del paquete :mod:" "`email` y la clase :class:`~email.message.EmailMessage` está encarnada en la " -"clase :mod:`policy`, por lo que un analizador personalizado puede crear " -"árboles de objetos mensaje en cualquier forma que encuentre necesario al " -"implementar versiones personalizadas de los métodos apropiados de :mod:" -"`policy`." +"clase :class:`~email.policy.Policy`, por lo que un analizador personalizado " +"puede crear árboles de objetos mensaje en cualquier forma que encuentre " +"necesario al implementar versiones personalizadas de los métodos apropiados " +"de :class:`!Policy`." #: ../Doc/library/email.parser.rst:49 msgid "FeedParser API" diff --git a/library/fileinput.po b/library/fileinput.po index 1dddcdfc4a..4d0fff8534 100644 --- a/library/fileinput.po +++ b/library/fileinput.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-21 17:58-0500\n" -"Last-Translator: \n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-02 12:48+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/fileinput.rst:2 msgid ":mod:`fileinput` --- Iterate over lines from multiple input streams" @@ -320,12 +321,11 @@ msgstr "" "clave." #: ../Doc/library/fileinput.rst:179 -#, fuzzy msgid "" "The ``'rU'`` and ``'U'`` modes and the :meth:`!__getitem__` method have been " "removed." msgstr "" -"Los modos ``'rU'`` y ``'U'`` y el método :meth:`__getitem__` han sido " +"Los modos ``'rU'`` y ``'U'`` y el método :meth:`!__getitem__` han sido " "eliminados." #: ../Doc/library/fileinput.rst:184 diff --git a/library/getpass.po b/library/getpass.po index d2b113acba..2724fb1b57 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -11,8 +11,8 @@ 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: 2022-11-12 10:17-0500\n" -"Last-Translator: Federico Jurío \n" +"PO-Revision-Date: 2023-11-02 12:48+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/getpass.rst:2 msgid ":mod:`getpass` --- Portable password input" @@ -30,7 +30,6 @@ msgstr ":mod:`getpass` --- Entrada de contraseña portátil" msgid "**Source code:** :source:`Lib/getpass.py`" msgstr "**Código fuente:** :source:`Lib/getpass.py`" -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." diff --git a/library/grp.po b/library/grp.po index df42562620..e5eb068c95 100644 --- a/library/grp.po +++ b/library/grp.po @@ -11,8 +11,8 @@ 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: 2023-02-20 11:21-0300\n" -"Last-Translator: Alfonso Areiza Guerra \n" +"PO-Revision-Date: 2023-11-02 12:48+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/grp.rst:2 msgid ":mod:`grp` --- The group database" @@ -34,7 +34,6 @@ msgstr "" "Este módulo proporciona acceso a la base de datos del grupo Unix. Está " "disponible en todas las versiones de Unix." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Availability `: ni Emscripten, ni WASI." diff --git a/library/imghdr.po b/library/imghdr.po index 3951212538..5de4ead491 100644 --- a/library/imghdr.po +++ b/library/imghdr.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-03-09 12:31-0300\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:49+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/imghdr.rst:2 msgid ":mod:`imghdr` --- Determine the type of an image" @@ -50,16 +51,15 @@ msgid "The :mod:`imghdr` module defines the following function:" msgstr "El módulo :mod:`imghdr` define la siguiente función:" #: ../Doc/library/imghdr.rst:24 -#, fuzzy msgid "" "Test the image data contained in the file named *file* and return a string " "describing the image type. If *h* is provided, the *file* argument is " "ignored and *h* is assumed to contain the byte stream to test." msgstr "" "Prueba los datos de imagen contenidos en el archivo nombrado por *file* y " -"retorna una cadena que describe el tipo de imagen. Si se proporciona *h* " -"opcional, se ignora el argumento *file* y se supone que *h* contiene el " -"flujo de bytes para probar." +"retorna una cadena que describe el tipo de imagen. Si se proporciona *h*, se " +"ignora el argumento *file* y se supone que *h* contiene el flujo de bytes " +"para probar." #: ../Doc/library/imghdr.rst:28 msgid "Accepts a :term:`path-like object`." diff --git a/library/index.po b/library/index.po index a78820cb68..baa6aa3b1c 100644 --- a/library/index.po +++ b/library/index.po @@ -11,16 +11,17 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-05-07 18:31-0300\n" -"Last-Translator: María Andrea Vignau\n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:49+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." "python.org)\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/index.rst:5 msgid "The Python Standard Library" @@ -82,7 +83,6 @@ msgstr "" # ¿Indice de paquetes de python? # frameworks: marco de trabajo #: ../Doc/library/index.rst:30 -#, fuzzy msgid "" "In addition to the standard library, there is an active collection of " "hundreds of thousands of components (from individual programs and modules to " diff --git a/library/msvcrt.po b/library/msvcrt.po index ceeb481df9..0e2bc26059 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-09 11:16+0100\n" -"Last-Translator: \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-02 12:50+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/msvcrt.rst:2 msgid ":mod:`msvcrt` --- Useful routines from the MS VC++ runtime" @@ -71,7 +72,6 @@ msgid "File Operations" msgstr "Operaciones con archivos" #: ../Doc/library/msvcrt.rst:38 -#, fuzzy msgid "" "Lock part of a file based on file descriptor *fd* from the C runtime. " "Raises :exc:`OSError` on failure. The locked region of the file extends " @@ -85,8 +85,8 @@ msgstr "" "entorno de ejecución C. Lanza una excepción :exc:`OSError` si falla. La " "región que ha sido bloqueada se extiende desde la posición del archivo " "actual hasta *nbytes* bytes y puede que continúe aún habiendo llegado al " -"final del archivo. *mode* tiene que ser una de las constantes :const:" -"`LK_\\*` que están enumeradas más abajo. Se pueden bloquear varias regiones " +"final del archivo. *mode* tiene que ser una de las constantes :const:`!" +"LK_\\*` que están enumeradas más abajo. Se pueden bloquear varias regiones " "de un mismo archivo pero no se pueden superponer. Las regiones adyacentes no " "se combinan; tienen que ser desbloqueadas manualmente." diff --git a/library/nis.po b/library/nis.po index 63c14071da..dd257d9ba3 100644 --- a/library/nis.po +++ b/library/nis.po @@ -11,15 +11,15 @@ 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: 2022-11-13 20:33+0100\n" -"Last-Translator: Carlos AlMA \n" +"PO-Revision-Date: 2023-11-02 12:50+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.3\n" -"X-Generator: Poedit 3.2.1\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/nis.rst:3 msgid ":mod:`nis` --- Interface to Sun's NIS (Yellow Pages)" @@ -49,7 +49,6 @@ msgstr "" "Debido a que NIS sólo existe en sistemas Unix, este módulo sólo está " "disponible para Unix." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." diff --git a/library/pty.po b/library/pty.po index 701c4ae16c..25a14d7afe 100644 --- a/library/pty.po +++ b/library/pty.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-04 21:47+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:50+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/pty.rst:2 msgid ":mod:`pty` --- Pseudo-terminal utilities" @@ -153,13 +154,12 @@ msgstr "" "hijo." #: ../Doc/library/pty.rst:74 -#, fuzzy msgid "" ":func:`os.waitstatus_to_exitcode` can be used to convert the exit status " "into an exit code." msgstr "" -":func:`waitstatus_to_exitcode` se puede utilizar para convertir el estado de " -"salida en un código de salida." +":func:`os.waitstatus_to_exitcode` se puede utilizar para convertir el estado " +"de salida en un código de salida." #: ../Doc/library/pty.rst:77 msgid "" diff --git a/library/re.po b/library/re.po index 6f687bb6ad..ed6ef6f262 100644 --- a/library/re.po +++ b/library/re.po @@ -26,9 +26,8 @@ msgid ":mod:`re` --- Regular expression operations" msgstr ":mod:`re` --- Operaciones con expresiones regulares" #: ../Doc/library/re.rst:10 -#, fuzzy msgid "**Source code:** :source:`Lib/re/`" -msgstr "**Código fuente:** :source:`Lib/re.py`" +msgstr "**Código fuente:** :source:`Lib/re/`" #: ../Doc/library/re.rst:14 msgid "" @@ -55,7 +54,6 @@ msgstr "" "sustitución debe ser del mismo tipo que el patrón y la cadena de búsqueda." #: ../Doc/library/re.rst:24 -#, fuzzy msgid "" "Regular expressions use the backslash character (``'\\'``) to indicate " "special forms or to allow special characters to be used without invoking " @@ -78,7 +76,7 @@ msgstr "" "cada barra inversa debe ser expresada como ``\\\\`` dentro de un literal de " "cadena regular de Python. También, notar que cualquier secuencia de escape " "inválida mientras se use la barra inversa de Python en los literales de " -"cadena ahora genera un :exc:`DeprecationWarning` y en el futuro esto se " +"cadena ahora genera un :exc:`SyntaxWarning` y en el futuro esto se " "convertirá en un :exc:`SyntaxError`. Este comportamiento ocurrirá incluso " "si es una secuencia de escape válida para una expresión regular." @@ -202,7 +200,6 @@ msgstr "" "en que se interpretan las expresiones regulares que los rodean." #: ../Doc/library/re.rst:90 -#, fuzzy msgid "" "Repetition operators or quantifiers (``*``, ``+``, ``?``, ``{m,n}``, etc) " "cannot be directly nested. This avoids ambiguity with the non-greedy " @@ -211,9 +208,9 @@ msgid "" "For example, the expression ``(?:a{6})*`` matches any multiple of six " "``'a'`` characters." msgstr "" -"Los delimitadores de repetición (``*``, ``+``, ``?``, ``{m,n}``, etc.) no " -"pueden ser anidados directamente. Esto evita la ambigüedad con el sufijo " -"modificador no *greedy* (codiciosos) ``?``, y con otros modificadores en " +"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'``." @@ -317,7 +314,6 @@ msgid "``*?``, ``+?``, ``??``" msgstr "``*?``, ``+?``, ``??``" #: ../Doc/library/re.rst:149 -#, fuzzy msgid "" "The ``'*'``, ``'+'``, and ``'?'`` quantifiers are all :dfn:`greedy`; they " "match as much text as possible. Sometimes this behaviour isn't desired; if " @@ -327,7 +323,7 @@ msgid "" "characters as possible will be matched. Using the RE ``<.*?>`` will match " "only ``''``." msgstr "" -"Los delimitadores \"*\", \"+\" y \"*\" son todos :dfn:`greedy` (codiciosos); " +"Los delimitadores ``'*'``, ``'+'``, y ``'?'`` son todos :dfn:`greedy`; " "coinciden con la mayor cantidad de texto posible. A veces este " "comportamiento no es deseado; si el RE ``<.*>`` se utiliza para coincidir " "con ``' b '``, coincidirá con toda la cadena, y no sólo con " @@ -337,12 +333,10 @@ msgstr "" "sólo coincidirá con ``''``." #: ../Doc/library/re.rst:179 -#, fuzzy msgid "``*+``, ``++``, ``?+``" -msgstr "``*?``, ``+?``, ``??``" +msgstr "``*+``, ``++``, ``?+``" #: ../Doc/library/re.rst:163 -#, fuzzy msgid "" "Like the ``'*'``, ``'+'``, and ``'?'`` quantifiers, those where ``'+'`` is " "appended also match as many times as possible. However, unlike the true " @@ -358,18 +352,18 @@ msgid "" "``x*+``, ``x++`` and ``x?+`` are equivalent to ``(?>x*)``, ``(?>x+)`` and " "``(?>x?)`` correspondingly." msgstr "" -"Como el ``'*'``, ``'+'``, y ``'?'`` Los cuantificadores, aquellos en los que " +"Como los cuantificadores ``'*'``, ``'+'``, y ``'?'`` , aquellos en los que " "se agrega ``'+'`` también coinciden tantas veces como sea posible. Sin " "embargo, a diferencia de los verdaderos cuantificadores codiciosos, estos no " "permiten retroceder cuando la expresión que le sigue no coincide. Estos se " -"conocen como cuantificadores :dfn:`posesivo`. Por ejemplo, ``a*a`` " +"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 se retrotrae de " +"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 se puede retrotraer y, por lo tanto, no " +"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." @@ -416,7 +410,6 @@ msgid "``{m,n}?``" msgstr "``{m,n}?``" #: ../Doc/library/re.rst:199 -#, fuzzy msgid "" "Causes the resulting RE to match from *m* to *n* repetitions of the " "preceding RE, attempting to match as *few* repetitions as possible. This is " @@ -427,17 +420,15 @@ msgstr "" "Hace que el RE resultante coincida de *m* a *n* repeticiones del RE " "precedente, tratando de coincidir con el *mínimo de* repeticiones posible. " "Esta es la versión *non-greedy* (no codiciosa) del delimitador anterior. " -"Por ejemplo, en la cadena de 6 caracteres ``'aaaaaaa'``, ``a{3,5}`` " +"Por ejemplo, en la cadena de 6 caracteres ``'aaaaaa'``, ``a{3,5}`` " "coincidirá con 5 caracteres ``'a'``, mientras que ``a{3,5}?`` solo " "coincidirá con 3 caracteres." #: ../Doc/library/re.rst:218 -#, fuzzy msgid "``{m,n}+``" -msgstr "``{m,n}``" +msgstr "``{m,n}+``" #: ../Doc/library/re.rst:206 -#, fuzzy msgid "" "Causes the resulting RE to match from *m* to *n* repetitions of the " "preceding RE, attempting to match as many repetitions as possible *without* " @@ -565,7 +556,6 @@ msgstr "" "tiene un significado especial si no es el primer carácter del conjunto." #: ../Doc/library/re.rst:272 -#, fuzzy msgid "" "To match a literal ``']'`` inside a set, precede it with a backslash, or " "place it at the beginning of the set. For example, both ``[()[\\]{}]`` and " @@ -574,7 +564,7 @@ msgid "" msgstr "" "Para coincidir con un ``']'`` literal dentro de un set, se debe preceder con " "una barra inversa, o colocarlo al principio del set. Por ejemplo, tanto ``[()" -"[\\][{}]`` como ``[]()[{}]`` coincidirá con los paréntesis, corchetes y " +"[\\]{}]`` como ``[]()[{}]`` coincidirá con los paréntesis, corchetes y " "llaves." #: ../Doc/library/re.rst:282 @@ -776,7 +766,6 @@ msgid "``(?>...)``" msgstr "``(?>...)``" #: ../Doc/library/re.rst:380 -#, fuzzy msgid "" "Attempts to match ``...`` as if it was a separate regular expression, and if " "successful, continues to match the rest of the pattern following it. If the " @@ -793,7 +782,7 @@ 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:`ato`, ha desechado todos los puntos de pila " +"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 " @@ -805,7 +794,6 @@ msgid "``(?P...)``" msgstr "``(?P...)``" #: ../Doc/library/re.rst:397 -#, fuzzy msgid "" "Similar to regular parentheses, but the substring matched by the group is " "accessible via the symbolic group name *name*. Group names must be valid " @@ -815,11 +803,12 @@ msgid "" "the group were not named." msgstr "" "Similar a los paréntesis regulares, pero la subcadena coincidente con el " -"grupo es accesible a través del nombre simbólico del grupo, *name* . Los " -"nombres de grupo deben ser identificadores válidos de Python, y cada nombre " -"de grupo debe ser definido sólo una vez dentro de una expresión regular. Un " -"grupo simbólico es también un grupo numerado, del mismo modo que si el grupo " -"no tuviera nombre." +"grupo es accesible a través del nombre simbólico del grupo, *name*. Los " +"nombres de grupo deben ser identificadores válidos de Python, y en los " +"patrones de :class:`bytes` solo pueden contener bytes en el rango ASCII. " +"Cada nombre de grupo debe ser definido sólo una vez dentro de una expresión " +"regular. Un grupo simbólico es también un grupo numerado, del mismo modo " +"que si el grupo no tuviera nombre." #: ../Doc/library/re.rst:404 msgid "" @@ -880,6 +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'``)." #: ../Doc/library/re.rst:430 msgid "``(?P=name)``" @@ -1015,6 +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'``)." #: ../Doc/library/re.rst:506 msgid "" @@ -1208,16 +1202,14 @@ msgid "``\\w``" msgstr "``\\w``" #: ../Doc/library/re.rst:599 -#, fuzzy msgid "" "Matches Unicode word characters; this includes alphanumeric characters (as " "defined by :meth:`str.isalnum`) as well as the underscore (``_``). If the :" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" -"Coincide con los caracteres de palabras de Unicode; esto incluye la mayoría " -"de los caracteres que pueden formar parte de una palabra en cualquier " -"idioma, así como los números y el guión bajo. Si se usa el indicador :const:" -"`ASCII`, sólo coincide con ``[a-zA-Z0-9_]``." +"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_]``." #: ../Doc/library/re.rst:604 msgid "" @@ -1257,13 +1249,13 @@ msgid "Matches only at the end of the string." msgstr "Coincide sólo el final de la cadena." #: ../Doc/library/re.rst:637 -#, fuzzy msgid "" "Most of the :ref:`escape sequences ` supported by Python " "string literals are also accepted by the regular expression parser::" msgstr "" -"La mayoría de los escapes estándar soportados por los literales de la cadena " -"de Python también son aceptados por el analizador de expresiones regulares::" +"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::" #: ../Doc/library/re.rst:644 msgid "" @@ -1309,14 +1301,14 @@ msgstr "" "son errores." #: ../Doc/library/re.rst:662 -#, fuzzy msgid "" "The :samp:`'\\\\N\\\\{{name}\\\\}'` escape sequence has been added. As in " "string literals, it expands to the named Unicode character (e.g. ``'\\N{EM " "DASH}'``)." msgstr "" -"Se añadió la secuencia de escape ``'\\N{name}'``. Como en los literales de " -"cadena, se expande al carácter Unicode nombrado (por ej. ``'\\N{EM DASH}'``)." +"Se añadió la secuencia de escape :samp:`'\\\\N\\\\{{name}\\\\}'`. Como en " +"los literales de cadena, se expande al carácter Unicode nombrado (p. ej. " +"``'\\N{EM DASH}'``)." #: ../Doc/library/re.rst:670 msgid "Module Contents" @@ -1482,17 +1474,17 @@ msgstr "" "al final de la cadena. Corresponde al indicador en línea ``(?m)``." #: ../Doc/library/re.rst:766 -#, fuzzy msgid "" "Indicates no flag being applied, the value is ``0``. This flag may be used " "as a default value for a function keyword argument or as a base value that " "will be conditionally ORed with other flags. Example of use as a default " "value::" msgstr "" -"Indica que no se aplica ningún indicador, el valor es ``0``. Este indicador " -"se puede utilizar como valor predeterminado para un argumento de palabra " -"clave de función o como un valor base que sea ORed condicionalmente con " -"otros indicadores. Ejemplo de uso como valor predeterminado:" +"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::" #: ../Doc/library/re.rst:779 msgid "" @@ -1511,17 +1503,19 @@ 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." #: ../Doc/library/re.rst:791 msgid "See :const:`A` for restricting matching on ASCII characters instead." -msgstr "" +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." -msgstr "" +msgstr "Esta bandera se mantiene solo por retrocompatibilidad." #: ../Doc/library/re.rst:800 -#, fuzzy msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " @@ -1533,15 +1527,16 @@ msgid "" "characters from the leftmost such ``#`` through the end of the line are " "ignored." msgstr "" -"Este indicador permite escribir expresiones regulares que se ven mejor y son " -"más legibles al facilitar la separación visual de las secciones lógicas del " -"patrón y añadir comentarios. Los espacios en blanco dentro del patrón se " -"ignoran, excepto cuando están en una clase de caracteres, o cuando están " -"precedidos por una barra inversa no escapada, o dentro de fichas como ``*?" -"``, ``(?:`` o ``(?P<...>``. Cuando una línea contiene un ``#`` que no está " -"en una clase de caracteres y no está precedida por una barra inversa no " -"escapada, se ignoran todos los caracteres desde el más a la izquierda (como " -"``#``) hasta el final de la línea." +"Esta bandera permite escribir expresiones regulares que se ven mejor y son " +"más legibles, facilitando la separación visual de las secciones lógicas del " +"patrón y la adición de comentarios. Los espacios en blanco dentro del patrón " +"se ignoran, excepto cuando están en una clase de caracteres, o cuando están " +"precedidos por una barra inversa sin escapar, o dentro de tokens como ``*?" +"``, ``(?:`` o ``(?P<...>``. Por ejemplo, ``(? :`` y ``* ?`` no están " +"permitidos. Cuando una línea contiene un ``#`` que no está en una clase de " +"caracteres y no está precedida por una barra inversa sin escapar, todos los " +"caracteres desde el ``#`` más a la izquierda hasta el final de la línea son " +"ignorados." #: ../Doc/library/re.rst:810 msgid "" @@ -1611,7 +1606,6 @@ msgstr "" "vez no tienen que preocuparse de compilar expresiones regulares." #: ../Doc/library/re.rst:858 -#, fuzzy msgid "" "Scan through *string* looking for the first location where the regular " "expression *pattern* produces a match, and return a corresponding :class:" @@ -1619,26 +1613,23 @@ msgid "" "pattern; note that this is different from finding a zero-length match at " "some point in the string." msgstr "" -"Examina a través de la *string* (\"cadena\") buscando el primer lugar donde " -"el *pattern* (\"patrón\") de la expresión regular produce una coincidencia, " -"y retorna un :ref:`objeto 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." +"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." #: ../Doc/library/re.rst:866 -#, fuzzy msgid "" "If zero or more characters at the beginning of *string* match the regular " "expression *pattern*, return a 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 cero o más caracteres al principio de la *string* (\"cadena\") coinciden " -"con el *pattern* (\"patrón\") de la expresión regular, retorna un :ref:" -"`objeto 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 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." #: ../Doc/library/re.rst:871 msgid "" @@ -1658,16 +1649,15 @@ msgstr "" "`search-vs-match`)." #: ../Doc/library/re.rst:880 -#, fuzzy msgid "" "If the whole *string* matches the regular expression *pattern*, return a " "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 *string* (\"cadena\") coincide con el *pattern* (\"patrón\") de " -"la expresión regular, retorna un correspondiente :ref:`objeto match `. 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 "" @@ -1756,19 +1746,17 @@ msgstr "" "coincidencia vacía anterior." #: ../Doc/library/re.rst:955 -#, fuzzy msgid "" "Return an :term:`iterator` yielding :class:`~re.Match` objects over all non-" "overlapping matches for the RE *pattern* in *string*. The *string* is " "scanned left-to-right, and matches are returned in the order found. Empty " "matches are included in the result." msgstr "" -"Retorna un :term:`iterator` que produce :ref:`objetos de coincidencia " -"` sobre todas las coincidencias no superpuestas para " -"*pattern* (\"patrón\") de RE en la *string* (\"cadena\"). 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." +"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 msgid "" @@ -1796,20 +1784,18 @@ msgstr "" "patrón. Por ejemplo::" #: ../Doc/library/re.rst:982 -#, fuzzy msgid "" "If *repl* is a function, it is called for every non-overlapping occurrence " "of *pattern*. The function takes a single :class:`~re.Match` argument, and " "returns the replacement string. For example::" msgstr "" "Si *repl* es una función, se llama para cada ocurrencia no superpuesta de " -"*pattern*. La función toma un solo argumento :ref:`objeto match `, y retorna la cadena de sustitución. Por ejemplo::" +"*pattern*. La función toma un solo argumento :class:`~re.Match`, y retorna " +"la cadena de sustitución. Por ejemplo::" #: ../Doc/library/re.rst:995 -#, fuzzy msgid "The pattern may be a string or a :class:`~re.Pattern`." -msgstr "El patrón puede ser una cadena o un :ref:`objeto patrón `." +msgstr "El patrón puede ser una cadena o un :class:`~re.Pattern`." #: ../Doc/library/re.rst:997 msgid "" @@ -1883,6 +1869,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'``)." #: ../Doc/library/re.rst:1041 msgid "" @@ -1981,16 +1970,17 @@ msgstr "Objetos expresión regular" #: ../Doc/library/re.rst:1132 msgid "Compiled regular expression object returned by :func:`re.compile`." -msgstr "" +msgstr "Objeto de expresión regular compilada devuelto por :func:`re.compile`." #: ../Doc/library/re.rst:1134 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`." #: ../Doc/library/re.rst:1140 -#, fuzzy msgid "" "Scan through *string* looking for the first location where this regular " "expression produces a match, and return a corresponding :class:`~re.Match`. " @@ -1998,11 +1988,11 @@ msgid "" "this is different from finding a zero-length match at some point in the " "string." msgstr "" -"Escanea a través de la *string* (\"cadena\") buscando la primera ubicación " -"donde esta expresión regular produce una coincidencia, y retorna un :ref:" -"`objeto 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." +"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 msgid "" @@ -2035,18 +2025,16 @@ msgstr "" "search(string, 0, 50)`` es equivalente a ``rx.search(string[:50], 0)``. ::" #: ../Doc/library/re.rst:1166 -#, fuzzy msgid "" "If zero or more characters at the *beginning* of *string* match this regular " "expression, return a 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 cero o más caracteres en el *beginning* (\"comienzo\") de la *string* " -"(\"cadena\") coinciden con esta expresión regular, retorna un :ref:`objeto " -"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 "" @@ -2066,16 +2054,15 @@ msgstr "" "match`)." #: ../Doc/library/re.rst:1185 -#, fuzzy msgid "" "If the whole *string* matches this regular expression, return a " "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 *string* (\"cadena\") coincide con esta expresión regular, " -"retorna un :ref:`objeto 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." @@ -2164,13 +2151,15 @@ msgstr "" #: ../Doc/library/re.rst:1275 msgid "Match object returned by successful ``match``\\ es and ``search``\\ es." -msgstr "" +msgstr "Objeto Match devuelto por llamadas exitosas a ``match`` y ``search``." #: ../Doc/library/re.rst:1277 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`." #: ../Doc/library/re.rst:1283 msgid "" @@ -2453,7 +2442,6 @@ msgid "Simulating scanf()" msgstr "Simular scanf()" #: ../Doc/library/re.rst:1543 -#, fuzzy msgid "" "Python does not currently have an equivalent to :c:func:`!scanf`. Regular " "expressions are generally more powerful, though also more verbose, than :c:" @@ -2461,16 +2449,15 @@ msgid "" "equivalent mappings between :c:func:`!scanf` format tokens and regular " "expressions." msgstr "" -"Python no tiene actualmente un equivalente a :c:func:`scanf`. Las " +"Actualmente, Python no tiene un equivalente a :c:func:`!scanf`. Las " "expresiones regulares son generalmente más poderosas, aunque también más " -"verbosas, que las cadenas de formato :c:func:`scanf`. La tabla siguiente " -"ofrece algunos mapeos más o menos equivalentes entre tokens de formato :c:" -"func:`scanf` y expresiones regulares." +"detalladas, que las cadenas de formato de :c:func:`!scanf`. La tabla " +"siguiente ofrece algunas correspondencias más o menos equivalentes entre los " +"tokens de formato de :c:func:`!scanf` y expresiones regulares." #: ../Doc/library/re.rst:1550 -#, fuzzy msgid ":c:func:`!scanf` Token" -msgstr "Token :c:func:`scanf`" +msgstr "Token :c:func:`!scanf`" #: ../Doc/library/re.rst:1550 msgid "Regular Expression" @@ -2558,9 +2545,8 @@ msgid "To extract the filename and numbers from a string like ::" msgstr "Para extraer el nombre de archivo y los números de una cadena como ::" #: ../Doc/library/re.rst:1575 -#, fuzzy msgid "you would use a :c:func:`!scanf` format like ::" -msgstr "se usaría un formato :c:func:`scanf` como ::" +msgstr "utilizaría un formato :c:func:`!scanf` como ::" #: ../Doc/library/re.rst:1579 msgid "The equivalent regular expression would be ::" @@ -2573,22 +2559,23 @@ msgstr "search() vs. match()" #: ../Doc/library/re.rst:1591 msgid "" "Python offers different primitive operations based on regular expressions:" -msgstr "" +msgstr "Python ofrece diferentes operaciones primitivas basadas en expresiones regulares:" #: ../Doc/library/re.rst:1593 -#, fuzzy msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr "Coincide sólo el final de la cadena." +msgstr ":func:`re.match` verifica una coincidencia solo al principio de la cadena" #: ../Doc/library/re.rst:1594 msgid "" ":func:`re.search` checks for a match anywhere in the string (this is what " "Perl does by default)" msgstr "" +":func:`re.search` busca una coincidencia en cualquier parte de la cadena " +"(esto es lo que Perl hace por defecto)" #: ../Doc/library/re.rst:1596 msgid ":func:`re.fullmatch` checks for entire string to be a match" -msgstr "" +msgstr ":func:`re.fullmatch` verifica si la cadena completa es una coincidencia" #: ../Doc/library/re.rst:1608 msgid "" @@ -2703,7 +2690,6 @@ msgid "Finding all Adverbs and their Positions" msgstr "Encontrar todos los adverbios y sus posiciones" #: ../Doc/library/re.rst:1722 -#, fuzzy msgid "" "If one wants more information about all matches of a pattern than the " "matched text, :func:`finditer` is useful as it provides :class:`~re.Match` " @@ -2711,9 +2697,9 @@ 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 uno quiere más información sobre todas las coincidencias de un patrón en " +"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 :" -"ref:`objetos de coincidencia ` en lugar de cadenas. " +"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::" @@ -2789,7 +2775,7 @@ msgstr "" #: ../Doc/library/re.rst:99 msgid ". (dot)" -msgstr "" +msgstr ". (dot)" #: ../Doc/library/re.rst:99 ../Doc/library/re.rst:106 ../Doc/library/re.rst:112 #: ../Doc/library/re.rst:123 ../Doc/library/re.rst:130 @@ -2811,214 +2797,213 @@ msgstr "" #: ../Doc/library/re.rst:609 ../Doc/library/re.rst:618 #: ../Doc/library/re.rst:623 ../Doc/library/re.rst:798 #: ../Doc/library/re.rst:1003 -#, fuzzy msgid "in regular expressions" -msgstr "Expresión regular" +msgstr "en expresiones regulares" #: ../Doc/library/re.rst:106 ../Doc/library/re.rst:263 msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" #: ../Doc/library/re.rst:112 msgid "$ (dollar)" -msgstr "" +msgstr "$ (dólar)" #: ../Doc/library/re.rst:123 msgid "* (asterisk)" -msgstr "" +msgstr * (asterisco)" #: ../Doc/library/re.rst:130 msgid "+ (plus)" -msgstr "" +msgstr "+ (mas)" #: ../Doc/library/re.rst:137 msgid "? (question mark)" -msgstr "" +msgstr "? (signo de interrogación)" #: ../Doc/library/re.rst:143 msgid "*?" -msgstr "" +msgstr "*?" #: ../Doc/library/re.rst:143 msgid "+?" -msgstr "" +msgstr "+?" #: ../Doc/library/re.rst:143 msgid "??" -msgstr "" +msgstr "??" #: ../Doc/library/re.rst:157 msgid "*+" -msgstr "" +msgstr "*+" #: ../Doc/library/re.rst:157 msgid "++" -msgstr "" +msgstr "++" #: ../Doc/library/re.rst:157 msgid "?+" -msgstr "" +msgstr "?+" #: ../Doc/library/re.rst:181 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (llaves o corchetes curvos)" #: ../Doc/library/re.rst:220 ../Doc/library/re.rst:257 #: ../Doc/library/re.rst:511 msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (barra inversa)" #: ../Doc/library/re.rst:235 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (corchetes)" #: ../Doc/library/re.rst:244 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../Doc/library/re.rst:296 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" #: ../Doc/library/re.rst:309 msgid "() (parentheses)" -msgstr "" +msgstr "() (paréntesis)" #: ../Doc/library/re.rst:319 msgid "(?" -msgstr "" +msgstr "(?" #: ../Doc/library/re.rst:345 msgid "(?:" -msgstr "" +msgstr "(?:" #: ../Doc/library/re.rst:394 msgid "(?P<" -msgstr "" +msgstr "(?P<" #: ../Doc/library/re.rst:426 msgid "(?P=" -msgstr "" +msgstr "(?P=" #: ../Doc/library/re.rst:432 msgid "(?#" -msgstr "" +msgstr "(?#" #: ../Doc/library/re.rst:437 msgid "(?=" -msgstr "" +msgstr "(?=" #: ../Doc/library/re.rst:444 msgid "(?!" -msgstr "" +msgstr "(?!" #: ../Doc/library/re.rst:451 msgid "(?<=" -msgstr "" +msgstr "(?<=" #: ../Doc/library/re.rst:478 msgid "(?\n" -"Language: es_AR\n" +"PO-Revision-Date: 2023-11-02 12:51+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/readline.rst:2 msgid ":mod:`readline` --- GNU readline interface" @@ -44,7 +45,6 @@ msgstr "" "como de los avisos ofrecidos por la función incorporada :func:`input`." #: ../Doc/library/readline.rst:20 -#, fuzzy msgid "" "Readline keybindings may be configured via an initialization file, typically " "``.inputrc`` in your home directory. See `Readline Init File `_ en el manual de GNU Readline para obtener " -"información sobre el formato y las construcciones permitidas de ese archivo, " -"y las capacidades de la biblioteca Readline en general." +"readline/rluserman.html#Readline-Init-File>`_ en el manual de GNU Readline " +"para obtener información sobre el formato y las construcciones permitidas de " +"ese archivo, y las capacidades de la biblioteca Readline en general." #: ../Doc/library/readline.rst:29 msgid "" diff --git a/library/resource.po b/library/resource.po index 89bbd12852..d4c27dc9d3 100644 --- a/library/resource.po +++ b/library/resource.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-10-31 10:07+0100\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-05 19:37+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/resource.rst:2 msgid ":mod:`resource` --- Resource usage information" @@ -34,9 +35,8 @@ msgstr "" "recursos del sistema utilizados por un programa." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidad `: FreeBSD 9 o posterior." +msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." #: ../Doc/includes/wasm-notavail.rst:5 msgid "" @@ -218,7 +218,6 @@ msgstr "" "argumentos ``pid``, ``resource``, ``limits``." #: ../Doc/library/resource.rst:104 -#, fuzzy msgid ":ref:`Availability `: Linux >= 2.6.36 with glibc >= 2.13." msgstr "" ":ref:`Disponibilidad `: Linux 2.6.36 o posterior con glibc " @@ -331,7 +330,6 @@ msgstr "" "El número de bytes que se pueden asignar a las colas de mensajes POSIX." #: ../Doc/library/resource.rst:190 ../Doc/library/resource.rst:227 -#, fuzzy msgid ":ref:`Availability `: Linux >= 2.6.8." msgstr ":ref:`Disponibilidad `: Linux 2.6.8 o posterior." @@ -340,7 +338,6 @@ msgid "The ceiling for the process's nice level (calculated as 20 - rlim_cur)." msgstr "El techo del nivel del proceso *nice* (calculado como 20 - rlim_cur)." #: ../Doc/library/resource.rst:199 ../Doc/library/resource.rst:208 -#, fuzzy msgid ":ref:`Availability `: Linux >= 2.6.12." msgstr ":ref:`Disponibilidad `: Linux 2.6.12 o posterior." @@ -358,7 +355,6 @@ msgstr "" "bloqueo." #: ../Doc/library/resource.rst:218 -#, fuzzy msgid ":ref:`Availability `: Linux >= 2.6.25." msgstr ":ref:`Disponibilidad `: Linux 2.6.25 o posterior." @@ -378,12 +374,10 @@ msgstr "" #: ../Doc/library/resource.rst:237 ../Doc/library/resource.rst:250 #: ../Doc/library/resource.rst:258 -#, fuzzy msgid ":ref:`Availability `: FreeBSD." -msgstr ":ref:`Disponibilidad `: FreeBSD 9 o posterior." +msgstr ":ref:`Disponibilidad `: FreeBSD." #: ../Doc/library/resource.rst:243 -#, fuzzy msgid "" "The maximum size (in bytes) of the swap space that may be reserved or used " "by all of this user id's processes. This limit is enforced only if bit 1 of " @@ -408,7 +402,6 @@ msgid "The maximum number of kqueues this user id is allowed to create." msgstr "El número máximo de kqueues que este ID de usuario puede crear." #: ../Doc/library/resource.rst:266 -#, fuzzy msgid ":ref:`Availability `: FreeBSD >= 11." msgstr ":ref:`Disponibilidad `: FreeBSD 11 o posterior." diff --git a/library/shlex.po b/library/shlex.po index 3981e902f9..d736f69bc6 100644 --- a/library/shlex.po +++ b/library/shlex.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-10-29 22:00-0500\n" -"Last-Translator: Pedro Aarón \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:52+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/shlex.rst:2 msgid ":mod:`shlex` --- Simple lexical analysis" @@ -64,12 +65,12 @@ msgstr "" "el argumento *posix* es falso." #: ../Doc/library/shlex.rst:33 -#, fuzzy msgid "" "Passing ``None`` for *s* argument now raises an exception, rather than " "reading :data:`sys.stdin`." msgstr "" -"Pasar ``None`` para *s* lanzará una excepción en futuras versiones de Python." +"Pasar ``None`` para el argumento *s* ahora lanza una excepción, en lugar de " +"leer :data:`sys.stdin`." #: ../Doc/library/shlex.rst:39 msgid "" diff --git a/library/smtpd.po b/library/smtpd.po index 1441560df8..8b68a26f69 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" -"PO-Revision-Date: 2022-12-11 15:20+0100\n" -"Last-Translator: Carlos AlMA \n" +"PO-Revision-Date: 2023-11-02 12:52+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -17,7 +17,7 @@ msgstr "" "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.2\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/smtpd.rst:2 msgid ":mod:`smtpd` --- SMTP Server" @@ -72,7 +72,6 @@ msgstr "" "El código admite :RFC:`5321`, más las extensiones :rfc:`1870` SIZE y :rfc:" "`6531` SMTPUTF8." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." diff --git a/library/spwd.po b/library/spwd.po index f9c79ae29f..6e13691cdb 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -11,8 +11,8 @@ 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: 2022-12-24 12:22-0300\n" -"Last-Translator: Francisco Mora \n" +"PO-Revision-Date: 2023-11-02 12:52+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "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.2\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/spwd.rst:2 msgid ":mod:`spwd` --- The shadow password database" @@ -42,7 +42,6 @@ msgstr "" "Este módulo proporciona acceso a la base de datos de contraseñas ocultas de " "Unix. Está disponible en varias versiones de Unix." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Availability `: no Emscripten, no WASI." diff --git a/library/stringprep.po b/library/stringprep.po index 1f8cc5d33d..b11a40176f 100644 --- a/library/stringprep.po +++ b/library/stringprep.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-13 19:47+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 12:53+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/stringprep.rst:2 msgid ":mod:`stringprep` --- Internet String Preparation" @@ -67,7 +68,6 @@ msgstr "" "dominios internacionalizados." #: ../Doc/library/stringprep.rst:29 -#, fuzzy msgid "" "The module :mod:`stringprep` only exposes the tables from :rfc:`3454`. As " "these tables would be very large to represent as dictionaries or lists, the " diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 09103e06b1..8306b117bf 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2023-05-02 21:52-0600\n" -"Last-Translator: Pedro Aarón \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:15+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/unittest.mock.rst:3 msgid ":mod:`unittest.mock` --- mock object library" @@ -514,10 +515,9 @@ msgstr "" "objeto simulado:" #: ../Doc/library/unittest.mock.rst:409 -#, fuzzy msgid "Added two keyword-only arguments to the reset_mock function." msgstr "" -"Se añadieron dos argumentos por palabra clave a la función *reset_mock*." +"Se añadieron dos argumentos de palabra clave a la función *reset_mock*." #: ../Doc/library/unittest.mock.rst:412 msgid "" @@ -538,10 +538,9 @@ msgstr "" "también." #: ../Doc/library/unittest.mock.rst:420 -#, fuzzy msgid "*return_value*, and :attr:`side_effect` are keyword-only arguments." msgstr "" -"*return_value* y :attr:`side_effect` son argumentos por palabra clave " +"*return_value* y :attr:`side_effect` son argumentos de palabra clave " "exclusivamente." #: ../Doc/library/unittest.mock.rst:426 @@ -2949,15 +2948,14 @@ msgstr "" "`FILTER_DIR`:" #: ../Doc/library/unittest.mock.rst:2439 -#, fuzzy msgid "" "Alternatively you can just use ``vars(my_mock)`` (instance members) and " "``dir(type(my_mock))`` (type members) to bypass the filtering irrespective " "of :const:`mock.FILTER_DIR`." msgstr "" "Como alternativa, puedes usar ``vars(my_mock)`` (miembros de instancia) y " -"``dir(type(my_mock))`` (miembros de tipo) para omitir el filtrado con " -"independencia del valor de :data:`mock.FILTER_DIR`." +"``dir(type(my_mock))`` (miembros de tipo) para omitir el filtrado " +"independientemente del valor de :const:`mock.FILTER_DIR`." #: ../Doc/library/unittest.mock.rst:2445 msgid "mock_open" diff --git a/library/weakref.po b/library/weakref.po index 31e003654f..85279986a1 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-04 21:07+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es_PE\n" +"PO-Revision-Date: 2023-11-05 22:46+0100\n" +"Last-Translator: Andrea Alegre \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/weakref.rst:4 msgid ":mod:`weakref` --- Weak references" @@ -144,7 +145,6 @@ msgstr "" "`weakref` para el beneficio de usuarios avanzados." #: ../Doc/library/weakref.rst:68 -#, fuzzy msgid "" "Not all objects can be weakly referenced. Objects which support weak " "references include class instances, functions written in Python (but not in " @@ -152,12 +152,12 @@ msgid "" "object>`, :term:`generators `, type objects, sockets, arrays, " "deques, regular expression pattern objects, and code objects." msgstr "" -"No todos los objetos pueden ser débilmente referenciados; esos objetos que " -"pueden incluir instancias de clases, funciones escritas en Python (pero no " -"en C), métodos de instancia, conjuntos, frozensets, algunos :term:`objetos " -"de archivo `, :term:`generadores `, objetos de " -"tipos, sockets, arreglos, deques, objetos de patrones de expresiones " -"regulares, y objetos código." +"No todos los objetos pueden ser débilmente referenciados. Objetos que " +"soportan referencias débiles pueden incluir instancias de clases, funciones " +"escritas en Python (pero no en C), métodos de instancia, conjuntos, " +"frozensets, algunos :term:`objetos archivo `, :term:" +"`generadores `, objetos de tipo, sockets, arreglos, deques, " +"objetos de patrones de expresiones regulares, y objetos código." #: ../Doc/library/weakref.rst:74 msgid "Added support for thread.lock, threading.Lock, and code objects." @@ -234,15 +234,15 @@ msgstr "" "retrollamada registrada más antigua." #: ../Doc/library/weakref.rst:112 -#, fuzzy msgid "" "Exceptions raised by the callback will be noted on the standard error " "output, but cannot be propagated; they are handled in exactly the same way " "as exceptions raised from an object's :meth:`~object.__del__` method." msgstr "" -"Las excepciones lanzadas por la retrollamada serán anotadas en la salida de " -"error estándar, pero no pueden ser propagadas; son manejadas igual que las " -"excepciones lanzadas por el método :meth:`__del__` de un objeto." +"Las excepciones lanzadas por la retrollamada serán visibles en la salida de " +"error estándar pero no pueden ser propagadas; son manejadas de la misma " +"forma que las excepciones lanzadas por el método :meth:`~object.__del__` de " +"un objeto." #: ../Doc/library/weakref.rst:116 msgid "" @@ -291,7 +291,6 @@ msgid "Added the :attr:`__callback__` attribute." msgstr "Se añadió el atributo :attr:`__callback__`." #: ../Doc/library/weakref.rst:140 -#, fuzzy msgid "" "Return a proxy to *object* which uses a weak reference. This supports use " "of the proxy in most contexts instead of requiring the explicit " @@ -309,15 +308,18 @@ msgstr "" "retornado tendrá un tipo ``ProxyType`` o ``CallableProxyType``, dependiendo " "si *object* es invocable. Objetos Proxy no son :term:`hashable` " "independiente de la referencia; esto evita un número de problemas " -"relacionados a su naturaleza mutable fundamental, y previene su uso como " -"claves de diccionario. *callback* es el mismo como el parámetro del mismo " -"nombre de la función :func:`ref`." +"relacionados a su naturaleza mutable fundamental, y evita su uso como clave " +"de diccionario. *callback* corresponde al parámetro del mismo nombre de la " +"función :func:`ref`." #: ../Doc/library/weakref.rst:149 msgid "" "Accessing an attribute of the proxy object after the referent is garbage " "collected raises :exc:`ReferenceError`." msgstr "" +"Acceder al atributo de un objeto proxy después de que el objeto referenciado " +"haya sido recolectado por el recolector de basura lanza :exc:" +"`ReferenceError`." #: ../Doc/library/weakref.rst:152 msgid "" @@ -363,10 +365,16 @@ msgid "" "not replace the existing key. Due to this, when the reference to the " "original key is deleted, it also deletes the entry in the dictionary::" msgstr "" +"Nótese que cuando una clave cuyo valor es igual a una clave ya existente " +"(pero no tienen igual identidad) es insertado en el diccionario, el valor es " +"reemplazado pero no se reemplaza la clave existente. Debido a esto, cuando " +"la referencia a la clave original es eliminada, se elimina la entrada en el " +"diccionario::" #: ../Doc/library/weakref.rst:188 msgid "A workaround would be to remove the key prior to reassignment::" msgstr "" +"Una solución alternativa sería remover la clave antes de la reasignación::" #: ../Doc/library/weakref.rst:199 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." @@ -412,14 +420,12 @@ msgstr "" "pep:`584`." #: ../Doc/library/weakref.rst:223 -#, fuzzy msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " "same issues as the :meth:`WeakKeyDictionary.keyrefs` method." msgstr "" "Los objetos :class:`WeakValueDictionary` tienen un método adicional que " -"tiene los mismos problemas que el método :meth:`keyrefs` de los objetos :" -"class:`WeakyKeyDictionary`." +"posee los mismos problemas que el método :meth:`WeakKeyDictionary.keyrefs`." #: ../Doc/library/weakref.rst:229 msgid "Return an iterable of the weak references to the values." @@ -452,6 +458,8 @@ msgid "" "*callback* is the same as the parameter of the same name to the :func:`ref` " "function." msgstr "" +"*callback* corresponde al parámetro del mismo nombre de la función :func:" +"`ref`." #: ../Doc/library/weakref.rst:270 msgid "" @@ -480,7 +488,6 @@ msgstr "" "`None`." #: ../Doc/library/weakref.rst:280 -#, fuzzy msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " "shown on the standard error output, but cannot be propagated. They are " @@ -490,7 +497,7 @@ msgstr "" "Las excepciones lanzadas por retrollamadas de finalizadores durante la " "recolección de basura serán mostradas en la salida de error estándar, pero " "no pueden ser propagadas. Son gestionados de la misma forma que las " -"excepciones lanzadas del método :meth:`__del__` de un objeto o la " +"excepciones lanzadas por el método :meth:`~object.__del__` de un objeto o la " "retrollamada de una referencia débil." #: ../Doc/library/weakref.rst:286 @@ -510,8 +517,9 @@ msgid "" "replaced by :const:`None`." msgstr "" "Un finalizador nunca invocará su retrollamada durante la última parte del :" -"term:`interpreter shutdown ` cuando los módulos " -"globales están sujetos a ser reemplazados por :const:`None`." +"term:`apagado del intérprete ` cuando las variables " +"globales del módulo (globals) están sujetos a ser reemplazados por :const:" +"`None`." #: ../Doc/library/weakref.rst:296 msgid "" @@ -734,9 +742,8 @@ msgstr "" "Por ejemplo" #: ../Doc/library/weakref.rst:526 -#, fuzzy msgid "Comparing finalizers with :meth:`~object.__del__` methods" -msgstr "Comparando finalizadores con los métodos :meth:`__del__`" +msgstr "Comparando finalizadores con los métodos :meth:`~object.__del__`" #: ../Doc/library/weakref.rst:528 msgid "" @@ -753,45 +760,42 @@ msgid "the object is garbage collected," msgstr "el objeto es recolectado por el recolector de basura," #: ../Doc/library/weakref.rst:533 -#, fuzzy msgid "the object's :meth:`!remove` method is called, or" -msgstr "el método :meth:`remove` del objeto es llamado, o" +msgstr "el método :meth:`!remove` del objeto es llamado, o" #: ../Doc/library/weakref.rst:534 msgid "the program exits." msgstr "el programa sale." #: ../Doc/library/weakref.rst:536 -#, fuzzy msgid "" "We might try to implement the class using a :meth:`~object.__del__` method " "as follows::" msgstr "" -"Nosotros podemos intentar implementar la clase usando el método :meth:" -"`__del__` como sigue::" +"Podemos intentar implementar la clase usando un método :meth:`~object." +"__del__` como se muestra a continuación::" #: ../Doc/library/weakref.rst:555 -#, fuzzy msgid "" "Starting with Python 3.4, :meth:`~object.__del__` methods no longer prevent " "reference cycles from being garbage collected, and module globals are no " "longer forced to :const:`None` during :term:`interpreter shutdown`. So this " "code should work without any issues on CPython." msgstr "" -"Empezando con Python 3.4, Los métodos :meth:`__del__` ya no previenen ciclos " -"de referencia de ser recolectado como basura, y los módulos globales ya no " -"fuerzan :const:`None` durante :term:`interpreter shutdown`. Por lo que este " -"código debe trabajar sin ningún problema en CPython." +"A partir de Python 3.4, los métodos :meth:`~object.__del__` ya no impiden " +"que los ciclos de referencia sean recolectados como basura y las variables " +"globales del módulo (globals) ya no son forzados a :const:`None` durante el :" +"term:`apagado del intérprete `. Por lo tanto, este " +"código debería funcionar sin ningún problema en CPython." #: ../Doc/library/weakref.rst:560 -#, fuzzy msgid "" "However, handling of :meth:`~object.__del__` methods is notoriously " "implementation specific, since it depends on internal details of the " "interpreter's garbage collector implementation." msgstr "" -"Sin embargo, la gestión de métodos :meth:`__del__` es notoriamente " -"específico por la implementación, ya que depende de detalles internos de la " +"Sin embargo, la gestión de métodos :meth:`~object.__del__` es notoriamente " +"específica a la implementación, ya que depende de detalles internos de la " "implementación del recolector de basura del intérprete." #: ../Doc/library/weakref.rst:564 diff --git a/library/winsound.po b/library/winsound.po index e7fc359657..110f7ef23a 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-04 19:13+0100\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:14+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/winsound.rst:2 msgid ":mod:`winsound` --- Sound-playing interface for Windows" @@ -50,7 +51,6 @@ msgstr "" "altavoz, se lanza :exc:`RuntimeError`." #: ../Doc/library/winsound.rst:27 -#, fuzzy msgid "" "Call the underlying :c:func:`!PlaySound` function from the Platform API. " "The *sound* parameter may be a filename, a system sound alias, audio data as " @@ -60,17 +60,16 @@ msgid "" "waveform sound is stopped. If the system indicates an error, :exc:" "`RuntimeError` is raised." msgstr "" -"Llama a la función responsable de :c:func:`PlaySound` desde el API de la " +"Llama a la función responsable de :c:func:`!PlaySound` desde el API de la " "plataforma. El parámetro *sound* puede ser un nombre de archivo, un alias " "de sonido del sistema, datos de audio como un :term:`bytes-like object` , o " "``None``. Su interpretación depende del valor de *flags*, que puede ser una " "combinación ORed de las constantes descritas a continuación. Si el parámetro " "de *sound* es ``None``, cualquier sonido de forma de onda que se esté " "reproduciendo en ese momento se detiene. Si el sistema indica un error, se " -"lanza :exc:`RuntimeError`` ." +"lanza :exc:`RuntimeError``." #: ../Doc/library/winsound.rst:38 -#, fuzzy msgid "" "Call the underlying :c:func:`!MessageBeep` function from the Platform API. " "This plays a sound as specified in the registry. The *type* argument " @@ -81,12 +80,12 @@ msgid "" "played otherwise. If the system indicates an error, :exc:`RuntimeError` is " "raised." msgstr "" -"Llama a la función responsable de :c:func:`MensajeBeep` de la API de la " +"Llama a la función responsable de :c:func:`!MensajeBeep` de la API de la " "plataforma. Esto reproduce un sonido como se especifica en el registro. El " "argumento *type* especifica qué sonido se reproduce; los valores posibles " "son ``-1``, ``MB_ICONASTERISK``, ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, " "``MB_ICONQUESTION``, y ``MB_OK``, todos descritos a continuación. El valor " -"\"1\" produce un \"simple pitido\"; este es el último recurso si un sonido " +"``-1`` produce un \"simple pitido\"; este es el último recurso si un sonido " "no puede ser reproducido de otra manera. Si el sistema indica un error, se " "lanza :exc:`RuntimeError`." diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index 5e2c3c3081..a7a8117e90 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -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-04 21:01+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:09+0100\n" +"Last-Translator: Marcos Medrano \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.4\n" #: ../Doc/library/xml.dom.minidom.rst:2 msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation" @@ -161,7 +162,6 @@ msgstr "" "de ejemplo::" #: ../Doc/library/xml.dom.minidom.rst:95 -#, fuzzy msgid "" "When you are finished with a DOM tree, you may optionally call the :meth:" "`unlink` method to encourage early cleanup of the now-unneeded objects. :" @@ -258,7 +258,6 @@ msgstr "" "encabezado XML." #: ../Doc/library/xml.dom.minidom.rst:148 -#, fuzzy msgid "" "Similarly, explicitly stating the *standalone* argument causes the " "standalone document declarations to be added to the prologue of the XML " @@ -268,9 +267,9 @@ msgid "" msgstr "" "De manera similar, al indicar explícitamente el argumento *standalone*, las " "declaraciones del documento independiente se agregan al prólogo del " -"documento XML. Si el valor se establece en `True`, se agrega " -"`standalone=\"yes\"`; de lo contrario, se establece en `\"no\"`. No declarar " -"el argumento omitirá la declaración del documento." +"documento XML. Si el valor se establece en ``True``, se agrega " +"``standalone=\"yes\"``; de lo contrario, se establece en ``\"no\"``. No " +"declarar el argumento omitirá la declaración del documento." #: ../Doc/library/xml.dom.minidom.rst:155 msgid "" diff --git a/library/xml.dom.po b/library/xml.dom.po index 2d96d27d8a..97c1130d20 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -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: 2020-07-23 14:17-0500\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:07+0100\n" +"Last-Translator: Marcos Medrano \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.4\n" #: ../Doc/library/xml.dom.rst:2 msgid ":mod:`xml.dom` --- The Document Object Model API" @@ -164,13 +165,12 @@ msgstr "" "La recomendación del W3C para el DOM soportada por :mod:`xml.dom.minidom`." #: ../Doc/library/xml.dom.rst:76 -#, fuzzy msgid "" "`Python Language Mapping Specification `_" msgstr "" -"`Python Language Mapping Specification `_" +"`Python Language Mapping Specification `_" #: ../Doc/library/xml.dom.rst:77 msgid "This specifies the mapping from OMG IDL to Python." diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index 6a4fea4a23..4b2ef1d532 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -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: 2020-10-18 17:55-0300\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:09+0100\n" +"Last-Translator: Marcos Medrano \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.4\n" #: ../Doc/library/xml.dom.pulldom.rst:2 msgid ":mod:`xml.dom.pulldom` --- Support for building partial DOM trees" @@ -195,9 +196,8 @@ msgid "DOMEventStream Objects" msgstr "Objetos DOMEventStream" #: ../Doc/library/xml.dom.pulldom.rst:117 -#, fuzzy msgid "Support for :meth:`__getitem__` method has been removed." -msgstr "El soporte para :meth:`sequence protocol <__getitem__>` está obsoleto." +msgstr "El soporte para :meth:`__getitem__` ha sido eliminado." #: ../Doc/library/xml.dom.pulldom.rst:122 msgid "" diff --git a/library/xml.po b/library/xml.po index d2e2da8ff0..13119304b3 100644 --- a/library/xml.po +++ b/library/xml.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-12-08 16:18-0500\n" -"Last-Translator: Adolfo Hristo David Roque Gámez \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:06+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/xml.rst:4 msgid "XML Processing Modules" @@ -197,7 +198,6 @@ msgid "**Vulnerable**" msgstr "**Vulnerable**" #: ../Doc/library/xml.rst:73 -#, fuzzy msgid "" "Expat 2.4.1 and newer is not vulnerable to the \"billion laughs\" and " "\"quadratic blowup\" vulnerabilities. Items still listed as vulnerable due " @@ -207,16 +207,15 @@ msgstr "" "Expat 2.4.1 y nuevas versiones no son vulnerables a las vulnerabilidades de " "\"mil millones de risas\" y \"explosión cuadrática\". Los elementos siguen " "listados como vulnerables debido a la posible dependencia de las bibliotecas " -"proporcionadas por el sistemas. Verifique :data:`pyexpat.EXPAT_VERSION`." +"proporcionadas por el sistemas. Verifique :const:`pyexpat.EXPAT_VERSION`." #: ../Doc/library/xml.rst:77 -#, fuzzy msgid "" ":mod:`xml.etree.ElementTree` doesn't expand external entities and raises a :" "exc:`~xml.etree.ElementTree.ParseError` when an entity occurs." msgstr "" ":mod:`xml.etree.ElementTree` no expande entidades externas y lanza un :exc:" -"`ParserError` cuando se produce una entidad." +"`~xml.etree.ElementTree.ParserError` cuando se produce una entidad." #: ../Doc/library/xml.rst:79 msgid "" @@ -227,9 +226,8 @@ msgstr "" "la entidad no expandida literalmente." #: ../Doc/library/xml.rst:81 -#, fuzzy msgid ":mod:`xmlrpc.client` doesn't expand external entities and omits them." -msgstr ":mod:`xmlrpclib` no expande entidades externas y las omite." +msgstr ":mod:`xmlrpc.client` no expande entidades externas y las omite." #: ../Doc/library/xml.rst:82 msgid "" @@ -262,7 +260,6 @@ msgid "quadratic blowup entity expansion" msgstr "expansión de entidad de explosión cuadrática" #: ../Doc/library/xml.rst:94 -#, fuzzy msgid "" "A quadratic blowup attack is similar to a `Billion Laughs`_ attack; it " "abuses entity expansion, too. Instead of nested entities it repeats one " @@ -321,9 +318,8 @@ msgstr "" "los vectores de ataque conocidos con ejemplos y referencias." #: ../Doc/library/xml.rst:123 -#, fuzzy msgid "The :mod:`!defusedxml` Package" -msgstr "El paquete :mod:`defusedxml`" +msgstr "El paquete :mod:`!defusedxml`" #: ../Doc/library/xml.rst:125 msgid "" diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index feb1f984b4..aa5476a451 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-11-24 11:22-0300\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:11+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/xml.sax.handler.rst:2 msgid ":mod:`xml.sax.handler` --- Base classes for SAX handlers" @@ -281,9 +282,8 @@ msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``" msgstr "value: ``\"http://xml.org/sax/properties/xml-string\"``" #: ../Doc/library/xml.sax.handler.rst:150 -#, fuzzy msgid "data type: Bytes" -msgstr "tipo de datos: String" +msgstr "tipo de datos: Bytes" #: ../Doc/library/xml.sax.handler.rst:152 msgid "" @@ -686,7 +686,6 @@ msgid "ErrorHandler Objects" msgstr "Objetos ErrorHandler" #: ../Doc/library/xml.sax.handler.rst:390 -#, fuzzy msgid "" "Objects with this interface are used to receive error and warning " "information from the :class:`~xml.sax.xmlreader.XMLReader`. If you create " @@ -703,10 +702,11 @@ msgstr "" "que implemente esta interfaz, y luego registras el objeto con tu :class:" "`~xml.sax.xmlreader.XMLReader`, el parser (analizador) invocará a los " "métodos de tu objeto para informar de todas las advertencias y errores. Hay " -"tres niveles de errores disponibles: advertencias, (posiblemente) errores " +"tres niveles de errores disponibles: advertencias, errores (posiblemente) " "recuperables y errores no recuperables. Todos los métodos toman un :exc:" -"`SAXParseException` como único parámetro. Los errores y advertencias pueden " -"ser convertidos en una excepción lanzando el objeto de excepción pasado." +"`~xml.sax.SAXParseException` como único parámetro. Los errores y " +"advertencias pueden ser convertidos en una excepción lanzando el objeto de " +"excepción pasado." #: ../Doc/library/xml.sax.handler.rst:403 msgid "" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 7ca3da7e6f..899600fb2f 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2022-12-09 21:24-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2023-11-02 09:12+0100\n" +"Last-Translator: Marcos Medrano \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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/xmlrpc.client.rst:2 msgid ":mod:`xmlrpc.client` --- XML-RPC client access" @@ -63,7 +64,6 @@ msgstr "" "necesarias de certificados y nombres de host de forma predeterminada." #: ../Doc/includes/wasm-notavail.rst:3 -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." @@ -366,9 +366,8 @@ msgstr "" "xmlrpc/types.html para obtener una descripción." #: ../Doc/library/xmlrpc.client.rst:166 -#, fuzzy msgid "`XML-RPC HOWTO `_" -msgstr "`XML-RPC HOWTO `_" +msgstr "`XML-RPC HOWTO `_" #: ../Doc/library/xmlrpc.client.rst:165 msgid "" diff --git a/library/xmlrpc.po b/library/xmlrpc.po index ad0a5911f4..4d73e31e85 100644 --- a/library/xmlrpc.po +++ b/library/xmlrpc.po @@ -11,20 +11,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-10-02 09:15+0100\n" -"Last-Translator: \n" -"Language: es_ES\n" +"PO-Revision-Date: 2023-11-02 09:11+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_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.13.0\n" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/xmlrpc.rst:2 -#, fuzzy msgid ":mod:`!xmlrpc` --- XMLRPC server and client modules" -msgstr ":mod:`xmlrpc` --- Módulos XMLRPC para cliente y servidor" +msgstr ":mod:`!xmlrpc` --- Módulos XMLRPC para cliente y servidor" #: ../Doc/library/xmlrpc.rst:4 msgid "" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index eb31e45a40..9c5e715a84 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -11,8 +11,8 @@ 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: 2022-11-11 17:05-0300\n" -"Last-Translator: Sofía Denner \n" +"PO-Revision-Date: 2023-11-02 09:12+0100\n" +"Last-Translator: Marcos Medrano \n" "Language-Team: python-doc-es\n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,7 @@ msgstr "" "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" +"X-Generator: Poedit 3.4\n" #: ../Doc/library/xmlrpc.server.rst:2 msgid ":mod:`xmlrpc.server` --- Basic XML-RPC servers" @@ -52,7 +52,6 @@ msgstr "" "maliciosamente. Si necesita analizar sintácticamente datos no confiables o " "no autentificados, consulte :ref:`xml-vulnerabilities`." -#, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: no Emscripten, no WASI." diff --git a/scripts/list_missing_entries.py b/scripts/list_missing_entries.py new file mode 100644 index 0000000000..4c51b37a63 --- /dev/null +++ b/scripts/list_missing_entries.py @@ -0,0 +1,55 @@ +import argparse +import dataclasses +import enum +import glob +import itertools +import os + +import polib +import tabulate + + +class MissingReason(enum.StrEnum): + FUZZY = "fuzzy" + UNTRANSLATED = "untranslated" + + @staticmethod + def from_poentry(poentry: polib.POEntry): + if poentry.fuzzy: + return MissingReason.FUZZY + assert not poentry.translated() + return MissingReason.UNTRANSLATED + +@dataclasses.dataclass +class MissingEntry: + reason: MissingReason + file: str + line: int + + @staticmethod + def from_poentry(pofilename: str, poentry: polib.POEntry) -> "MissingEntry": + return MissingEntry(MissingReason.from_poentry(poentry), pofilename, poentry.linenum) + + +def find_missing_entries(filename: str) -> list[MissingEntry]: + po = polib.pofile(filename) + fuzzy = po.fuzzy_entries() + untranslated = po.untranslated_entries() + return [MissingEntry.from_poentry(filename, entry) for entry in fuzzy + untranslated] + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("files", nargs="+") + parser.add_argument("-g", "--github-mode", help="Produce output as a GitHub comment", action='store_true') + opts = parser.parse_args() + missing_entries = list(itertools.chain.from_iterable(map(find_missing_entries, opts.files))) + if not missing_entries: + print(f"All entries translated, horray!{' :tada:' if opts.github_mode else ''}") + else: + missing_entries.sort(key = lambda entry: (entry.file, entry.line)) + print("Entries missing translation, details follow:\n") + print(tabulate.tabulate(missing_entries,headers=["Reason", "File", "Line"], tablefmt="github")) + + +if __name__ == "__main__": + main()