diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 809e023f1d..f34bb9702d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,8 +18,7 @@ jobs: python-version: 3.9 - name: Sincronizar con CPython run: | - git submodule sync - git submodule update --init --force cpython + git submodule update --init --depth=1 cpython - name: Instalar dependencias run: | sudo apt-get update diff --git a/.gitmodules b/.gitmodules index 12ac19b681..9242931fac 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "cpython"] path = cpython url = https://github.com/python/cpython.git - branch = 3.8 + branch = 3.9 shallow = true [submodule "tutorialpyar"] path = .migration/tutorialpyar diff --git a/.overrides/coc.rst b/.overrides/coc.rst index b38c1fe8b5..0ecc88ff9e 100644 --- a/.overrides/coc.rst +++ b/.overrides/coc.rst @@ -236,7 +236,7 @@ Este Código de Conducta se bifucó (fork) a partir de las pólizas de ejemplo d `Geek Feminism wiki, creado por Ada Initiative y otros voluntarios`_, que está bajo una licencia `Creative Commons Zero`_. -*Sage Sharp* de `Otter Tech`_ creó un nuevo lenguage y modificaciones adicionales. +*Sage Sharp* de `Otter Tech`_ creó un nuevo lenguaje y modificaciones adicionales. El lenguaje se incorporó a partir de los siguientes códigos de conducta: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 72807d02b4..f084450d96 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,8 +10,8 @@ repos: entry: python ./scripts/create_dict.py language: python # This one requires package ``hunspell-es_es`` in Archlinux -- repo: https://github.com/JulienPalard/pospell - rev: v1.0.5 +- repo: https://github.com/AFPy/pospell + rev: v1.0.11 hooks: - id: pospell - args: ['--personal-dict', 'dict.txt', '--modified', '--language', 'es_ES'] + args: ['--personal-dict', 'dict.txt', '--language', 'es_ES', '--language', 'es_AR'] diff --git a/TRANSLATORS b/TRANSLATORS index d5d3f17012..7ca022f296 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -147,3 +147,4 @@ Martín Ramírez (@tinchoram) Kevin Cajachuán (@Kajachuan) Yohanna Padrino (@Yo-hanaPR) Adolfo Villalobos (@AdolfoVillalobos) +Marcos Medrano (@mmmarcos) diff --git a/dictionaries/about.txt b/dictionaries/about.txt index 63e069f670..25af0b3da4 100644 --- a/dictionaries/about.txt +++ b/dictionaries/about.txt @@ -1,2 +1,4 @@ Fred -Sphinx \ No newline at end of file +Sphinx +Drake +Jr \ No newline at end of file diff --git a/dictionaries/c-api_buffer.txt b/dictionaries/c-api_buffer.txt new file mode 100644 index 0000000000..ccc4d956e5 --- /dev/null +++ b/dictionaries/c-api_buffer.txt @@ -0,0 +1 @@ +bidimensionales \ No newline at end of file diff --git a/dictionaries/datetime.txt b/dictionaries/datetime.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dictionaries/distributing_index.txt b/dictionaries/distributing_index.txt index 702b7b8d37..7cd50aebf3 100644 --- a/dictionaries/distributing_index.txt +++ b/dictionaries/distributing_index.txt @@ -1 +1,5 @@ Packaging +Guide +Bitbucket +wheel +wheels \ No newline at end of file diff --git a/dictionaries/distutils_apiref.txt b/dictionaries/distutils_apiref.txt index 4c160e8075..fb62652fb1 100644 --- a/dictionaries/distutils_apiref.txt +++ b/dictionaries/distutils_apiref.txt @@ -7,3 +7,14 @@ definirla Preprocesa configúralo Redhat +library +dirs +indefiniciones +Mingw +mingw +subruta +ppc +ish +msi +explicitamente +aix diff --git a/dictionaries/distutils_builtdist.txt b/dictionaries/distutils_builtdist.txt index 8764ad03d1..dfad9b8bdc 100644 --- a/dictionaries/distutils_builtdist.txt +++ b/dictionaries/distutils_builtdist.txt @@ -1,4 +1,8 @@ autoextraíble desinstalación desinstale -UAC \ No newline at end of file +UAC +pythoncore +Powered +amd +dumb \ No newline at end of file diff --git a/dictionaries/faq_design.txt b/dictionaries/faq_design.txt new file mode 100644 index 0000000000..3391dcd571 --- /dev/null +++ b/dictionaries/faq_design.txt @@ -0,0 +1 @@ +irrestricto diff --git a/dictionaries/faq_extending.txt b/dictionaries/faq_extending.txt new file mode 100644 index 0000000000..d8e8612acc --- /dev/null +++ b/dictionaries/faq_extending.txt @@ -0,0 +1,12 @@ +pure +new +builtin +unexpected +parsing +incomplete +invalid +PyErr +BuildValue +seek +input +Farber \ No newline at end of file diff --git a/dictionaries/faq_general.txt b/dictionaries/faq_general.txt index ad8b06b9b1..3df534d880 100644 --- a/dictionaries/faq_general.txt +++ b/dictionaries/faq_general.txt @@ -11,3 +11,12 @@ PythonWin Release disrupciones Jelke +PyGame +Schedule +Boer +announce +cN +perfilamiento +bugfix +traumáticos +distribuibles \ No newline at end of file diff --git a/dictionaries/faq_windows.txt b/dictionaries/faq_windows.txt new file mode 100644 index 0000000000..a58de753ac --- /dev/null +++ b/dictionaries/faq_windows.txt @@ -0,0 +1,7 @@ +Enter +inicializarlo +lib +Coff +Omf +Indent +size \ No newline at end of file diff --git a/dictionaries/howto_clinic.txt b/dictionaries/howto_clinic.txt index 43896f6673..405d31fedb 100644 --- a/dictionaries/howto_clinic.txt +++ b/dictionaries/howto_clinic.txt @@ -11,3 +11,14 @@ preprocesamiento inicializará manejarlas nómbrelas +corríjalo +impl +PyArg +Parse +polimórficos +autoconversor +sobrescribirlo +UnpackTuple +ifdef +tp +methoddef \ No newline at end of file diff --git a/dictionaries/howto_curses.txt b/dictionaries/howto_curses.txt new file mode 100644 index 0000000000..e2a45a6fe6 --- /dev/null +++ b/dictionaries/howto_curses.txt @@ -0,0 +1,6 @@ +Intro +borrándolo +cbreak +multibyte +xterm +Urwid \ No newline at end of file diff --git a/dictionaries/howto_descriptor.txt b/dictionaries/howto_descriptor.txt index 76567bc815..835d921c97 100644 --- a/dictionaries/howto_descriptor.txt +++ b/dictionaries/howto_descriptor.txt @@ -1,2 +1,3 @@ redefiniendo monitorizar +klass diff --git a/dictionaries/howto_functional.txt b/dictionaries/howto_functional.txt index 41854c76d2..37a6e663cf 100644 --- a/dictionaries/howto_functional.txt +++ b/dictionaries/howto_functional.txt @@ -26,4 +26,18 @@ Julie Scheme Sussman Mertz -DeveloperWorks \ No newline at end of file +DeveloperWorks +listcomps +genexps +descartarlo +equiespaciados +Bicking +Efford +Jewett +Krell +Lameiro +Salmela +Winter +Winton +currificación +Leandro diff --git a/dictionaries/howto_instrumentation.txt b/dictionaries/howto_instrumentation.txt index 64da6404b9..4590ea205e 100644 --- a/dictionaries/howto_instrumentation.txt +++ b/dictionaries/howto_instrumentation.txt @@ -1,3 +1,8 @@ SystemTap tapset -estratégicamente \ No newline at end of file +estratégicamente +enable +stapsdt +shared +start +libpython \ No newline at end of file diff --git a/dictionaries/howto_ipaddress.txt b/dictionaries/howto_ipaddress.txt index a6de7e6f77..fb81f36635 100644 --- a/dictionaries/howto_ipaddress.txt +++ b/dictionaries/howto_ipaddress.txt @@ -1,2 +1,3 @@ enrutadores indexarlas +Address \ No newline at end of file diff --git a/dictionaries/howto_logging.txt b/dictionaries/howto_logging.txt index 2c6361b695..cec90c0d4a 100644 --- a/dictionaries/howto_logging.txt +++ b/dictionaries/howto_logging.txt @@ -4,3 +4,12 @@ syslog deshabilitación desconfiguran superconjunto +conf +handler +pdf +orgname +handlers +scan +text +ops +tráiler \ No newline at end of file diff --git a/dictionaries/howto_sockets.txt b/dictionaries/howto_sockets.txt index 0020bdc05d..85e659f845 100644 --- a/dictionaries/howto_sockets.txt +++ b/dictionaries/howto_sockets.txt @@ -5,4 +5,7 @@ leíble multiplexar pruébalo usable -caracter \ No newline at end of file +caracter +ouch +network +longs \ No newline at end of file diff --git a/dictionaries/howto_unicode.txt b/dictionaries/howto_unicode.txt index 59e26b1e97..0b8920d25c 100644 --- a/dictionaries/howto_unicode.txt +++ b/dictionaries/howto_unicode.txt @@ -2,3 +2,7 @@ renderizador PyCon EuroPython biyectivo +glifos +subcategorías +ê +ß diff --git a/dictionaries/howto_urllib2.txt b/dictionaries/howto_urllib2.txt index a6290004e4..a46166c04f 100644 --- a/dictionaries/howto_urllib2.txt +++ b/dictionaries/howto_urllib2.txt @@ -11,3 +11,13 @@ geturl info urlopen internet +Handlers +Openers +redireccionamientos +password +Headers +Common +userinfo +localhost +add +reason \ No newline at end of file diff --git a/dictionaries/install_index.txt b/dictionaries/install_index.txt index 5ef7b4bd26..910590161d 100644 --- a/dictionaries/install_index.txt +++ b/dictionaries/install_index.txt @@ -1,3 +1,7 @@ binutils parseado superusuario +WinZip +cygwin +setup +rpath \ No newline at end of file diff --git a/dictionaries/library_aifc.txt b/dictionaries/library_aifc.txt new file mode 100644 index 0000000000..5f1cdb1939 --- /dev/null +++ b/dictionaries/library_aifc.txt @@ -0,0 +1 @@ +cuadrafónico diff --git a/dictionaries/library_argparse.txt b/dictionaries/library_argparse.txt index 5ae913043a..864212ddcc 100644 --- a/dictionaries/library_argparse.txt +++ b/dictionaries/library_argparse.txt @@ -1,10 +1,5 @@ action -add_argument() -add_help -allow_abbrev -argument_default choices -conflict_handler const default description @@ -14,8 +9,6 @@ especificador especificadores FileType flags -formatter_class -fromfile_prefix_chars globalmente help inherentemente @@ -26,11 +19,8 @@ name Namespace nargs parents -parse_args() -parser_class posicional posicionales -prefix_chars prog Python required @@ -38,3 +28,4 @@ title tupla type usage +ArgumentParser \ No newline at end of file diff --git a/dictionaries/library_array.txt b/dictionaries/library_array.txt index 87db64cc2c..7c6a2b84c6 100644 --- a/dictionaries/library_array.txt +++ b/dictionaries/library_array.txt @@ -5,3 +5,4 @@ retro string typecode inherentemente +Byteswap \ No newline at end of file diff --git a/dictionaries/library_asynchat.txt b/dictionaries/library_asynchat.txt index 7964f127c8..000eb524a4 100644 --- a/dictionaries/library_asynchat.txt +++ b/dictionaries/library_asynchat.txt @@ -1 +1,4 @@ encriptación +polling +asíncronamente +mseg diff --git a/dictionaries/library_asyncio_eventloop.txt b/dictionaries/library_asyncio-eventloop.txt similarity index 50% rename from dictionaries/library_asyncio_eventloop.txt rename to dictionaries/library_asyncio-eventloop.txt index 1fc23255a2..9669a3f000 100644 --- a/dictionaries/library_asyncio_eventloop.txt +++ b/dictionaries/library_asyncio-eventloop.txt @@ -5,3 +5,12 @@ monotónico Futures reordenamientos monitorear +transport +protocol +later +soon +handle +exception +message +Stack +reordenamiento \ No newline at end of file diff --git a/dictionaries/library_asyncio-exceptions.txt b/dictionaries/library_asyncio-exceptions.txt new file mode 100644 index 0000000000..6ff4aa41e6 --- /dev/null +++ b/dictionaries/library_asyncio-exceptions.txt @@ -0,0 +1 @@ +sendfile \ No newline at end of file diff --git a/dictionaries/library_asyncio_future.txt b/dictionaries/library_asyncio-future.txt similarity index 100% rename from dictionaries/library_asyncio_future.txt rename to dictionaries/library_asyncio-future.txt diff --git a/dictionaries/library_asyncio_policy.txt b/dictionaries/library_asyncio-policy.txt similarity index 100% rename from dictionaries/library_asyncio_policy.txt rename to dictionaries/library_asyncio-policy.txt diff --git a/dictionaries/library_asyncio-protocol.txt b/dictionaries/library_asyncio-protocol.txt new file mode 100644 index 0000000000..8223284c24 --- /dev/null +++ b/dictionaries/library_asyncio-protocol.txt @@ -0,0 +1,3 @@ +ready +subóptimo +semicerradas \ No newline at end of file diff --git a/dictionaries/library_asyncio_sync.txt b/dictionaries/library_asyncio-sync.txt similarity index 78% rename from dictionaries/library_asyncio_sync.txt rename to dictionaries/library_asyncio-sync.txt index 8aae64ba7e..0c0c4e63ef 100644 --- a/dictionaries/library_asyncio_sync.txt +++ b/dictionaries/library_asyncio-sync.txt @@ -1,4 +1,4 @@ BoundedSemaphore Condition Lock - +Semaphore \ No newline at end of file diff --git a/dictionaries/library_asyncore.txt b/dictionaries/library_asyncore.txt new file mode 100644 index 0000000000..c37e5044a4 --- /dev/null +++ b/dictionaries/library_asyncore.txt @@ -0,0 +1,2 @@ +wrapper +dispatcher \ No newline at end of file diff --git a/dictionaries/library_binascii.txt b/dictionaries/library_binascii.txt index dd8f14f386..aae7167101 100644 --- a/dictionaries/library_binascii.txt +++ b/dictionaries/library_binascii.txt @@ -1,2 +1,4 @@ bytestring uuencoded +hexbin +rfc \ No newline at end of file diff --git a/dictionaries/library_binhex.txt b/dictionaries/library_binhex.txt index 83dae3283b..566a462088 100644 --- a/dictionaries/library_binhex.txt +++ b/dictionaries/library_binhex.txt @@ -1 +1,2 @@ -binhex \ No newline at end of file +binhex +Macintosch \ No newline at end of file diff --git a/dictionaries/library_bz2.txt b/dictionaries/library_bz2.txt new file mode 100644 index 0000000000..f1c80b6024 --- /dev/null +++ b/dictionaries/library_bz2.txt @@ -0,0 +1,2 @@ +stream +streams \ No newline at end of file diff --git a/dictionaries/library_cgi.txt b/dictionaries/library_cgi.txt index 7d02d02319..e2d11835c1 100644 --- a/dictionaries/library_cgi.txt +++ b/dictionaries/library_cgi.txt @@ -33,4 +33,5 @@ userid explícitamente uid query -string \ No newline at end of file +string +checkboxes diff --git a/dictionaries/library_cmath.txt b/dictionaries/library_cmath.txt index 8e3e270e6d..c5d4edfa11 100644 --- a/dictionaries/library_cmath.txt +++ b/dictionaries/library_cmath.txt @@ -2,3 +2,6 @@ phi arcocoseno arcoseno arcotangente +not +number +radianes \ No newline at end of file diff --git a/dictionaries/library_codeop.txt b/dictionaries/library_codeop.txt index 9abf3d55de..8e77070fc5 100644 --- a/dictionaries/library_codeop.txt +++ b/dictionaries/library_codeop.txt @@ -1 +1,2 @@ filename +eval diff --git a/dictionaries/library_compileall.txt b/dictionaries/library_compileall.txt index 4e491858b4..a52be1aacf 100644 --- a/dictionaries/library_compileall.txt +++ b/dictionaries/library_compileall.txt @@ -1,2 +1,3 @@ workers -pycs \ No newline at end of file +pycs +multinivel diff --git a/dictionaries/library_concurrency.txt b/dictionaries/library_concurrency.txt new file mode 100644 index 0000000000..279f53d16e --- /dev/null +++ b/dictionaries/library_concurrency.txt @@ -0,0 +1 @@ +apropiativa diff --git a/dictionaries/library_crypt.txt b/dictionaries/library_crypt.txt new file mode 100644 index 0000000000..b5801a900f --- /dev/null +++ b/dictionaries/library_crypt.txt @@ -0,0 +1 @@ +Blowfish \ No newline at end of file diff --git a/dictionaries/library_ctypes.txt b/dictionaries/library_ctypes.txt index aebe2011bc..86004425ab 100644 --- a/dictionaries/library_ctypes.txt +++ b/dictionaries/library_ctypes.txt @@ -20,4 +20,7 @@ DllGetClassObject redimensiona subclasificando inicializadas -inicializarán \ No newline at end of file +inicializarán +private +win +Hm \ No newline at end of file diff --git a/dictionaries/library_curses.txt b/dictionaries/library_curses.txt index 50f453f334..fa63513cfa 100644 --- a/dictionaries/library_curses.txt +++ b/dictionaries/library_curses.txt @@ -2,3 +2,10 @@ Cian editable Desinicializa redibujado +desinicializada +program +cian +position +background +stdscr +cooked \ No newline at end of file diff --git a/dictionaries/library_dataclasses.txt b/dictionaries/library_dataclasses.txt index ef2c077293..e1411e8660 100644 --- a/dictionaries/library_dataclasses.txt +++ b/dictionaries/library_dataclasses.txt @@ -1,2 +1,2 @@ pseudocampo -pseudocampos +pseudocampos \ No newline at end of file diff --git a/dictionaries/library_datetime.txt b/dictionaries/library_datetime.txt new file mode 100644 index 0000000000..87be1fdb45 --- /dev/null +++ b/dictionaries/library_datetime.txt @@ -0,0 +1 @@ +Eastern \ No newline at end of file diff --git a/dictionaries/library_debug.txt b/dictionaries/library_debug.txt new file mode 100644 index 0000000000..7de185bfa3 --- /dev/null +++ b/dictionaries/library_debug.txt @@ -0,0 +1 @@ +intrusivos diff --git a/dictionaries/library_difflib.txt b/dictionaries/library_difflib.txt index a6f08c236a..7359f664c3 100644 --- a/dictionaries/library_difflib.txt +++ b/dictionaries/library_difflib.txt @@ -15,3 +15,8 @@ instanciamos Differ intralineales difflib +intralíneas +Metzener +Obershelp +dummy +next \ No newline at end of file diff --git a/dictionaries/library_distutils.txt b/dictionaries/library_distutils.txt index f4f388c888..4d058cccca 100644 --- a/dictionaries/library_distutils.txt +++ b/dictionaries/library_distutils.txt @@ -1 +1,2 @@ -plugins \ No newline at end of file +plugins +Authority diff --git a/dictionaries/library_doctest.txt b/dictionaries/library_doctest.txt index bcf8bf713c..22b9ec95f6 100644 --- a/dictionaries/library_doctest.txt +++ b/dictionaries/library_doctest.txt @@ -5,4 +5,4 @@ DocTests defiere reusado parametrización - +ups diff --git a/dictionaries/library_email.charset.txt b/dictionaries/library_email.charset.txt new file mode 100644 index 0000000000..7634b25d22 --- /dev/null +++ b/dictionaries/library_email.charset.txt @@ -0,0 +1,2 @@ +printable +quoted \ No newline at end of file diff --git a/dictionaries/library_email.errors.txt b/dictionaries/library_email.errors.txt new file mode 100644 index 0000000000..814b7d97b5 --- /dev/null +++ b/dictionaries/library_email.errors.txt @@ -0,0 +1 @@ +multiparte \ No newline at end of file diff --git a/dictionaries/library_email.generator.txt b/dictionaries/library_email.generator.txt index a0eb3796fb..64504632f1 100644 --- a/dictionaries/library_email.generator.txt +++ b/dictionaries/library_email.generator.txt @@ -1,3 +1,5 @@ recodificado serializando reenvuelve +policy +Policy diff --git a/dictionaries/library_email.header.txt b/dictionaries/library_email.header.txt index d4c901d1e9..bcb69465e0 100644 --- a/dictionaries/library_email.header.txt +++ b/dictionaries/library_email.header.txt @@ -1 +1,2 @@ códec +UnicodeError \ No newline at end of file diff --git a/dictionaries/library_email.message.txt b/dictionaries/library_email.message.txt new file mode 100644 index 0000000000..21a78cbce1 --- /dev/null +++ b/dictionaries/library_email.message.txt @@ -0,0 +1,6 @@ +email +multipart +msg +maintype +clean +body diff --git a/dictionaries/library_emailparser.txt b/dictionaries/library_email.parser.txt similarity index 84% rename from dictionaries/library_emailparser.txt rename to dictionaries/library_email.parser.txt index 462ea960e0..7ac6d17bec 100644 --- a/dictionaries/library_emailparser.txt +++ b/dictionaries/library_email.parser.txt @@ -1,2 +1,3 @@ subpartes serializada +idad \ No newline at end of file diff --git a/dictionaries/library_email.policy.txt b/dictionaries/library_email.policy.txt new file mode 100644 index 0000000000..fe84e5aa51 --- /dev/null +++ b/dictionaries/library_email.policy.txt @@ -0,0 +1,3 @@ +charset +content +only \ No newline at end of file diff --git a/dictionaries/library_email_message.txt b/dictionaries/library_email_message.txt deleted file mode 100644 index 7df2c2848b..0000000000 --- a/dictionaries/library_email_message.txt +++ /dev/null @@ -1 +0,0 @@ -email diff --git a/dictionaries/library_enum.txt b/dictionaries/library_enum.txt index 47b855316b..1fc333d001 100644 --- a/dictionaries/library_enum.txt +++ b/dictionaries/library_enum.txt @@ -2,4 +2,7 @@ IronPython transitividad Enums serializadas -SomeData \ No newline at end of file +SomeData +hasheables +IntEnum +style \ No newline at end of file diff --git a/dictionaries/library_errno.txt b/dictionaries/library_errno.txt index d66acd2b1d..9822ec9649 100644 --- a/dictionaries/library_errno.txt +++ b/dictionaries/library_errno.txt @@ -1,3 +1,4 @@ typewriter interbloqueo Srmount +out diff --git a/dictionaries/library_filecmp.txt b/dictionaries/library_filecmp.txt index 0a4bc5f431..f0f372fcb8 100644 --- a/dictionaries/library_filecmp.txt +++ b/dictionaries/library_filecmp.txt @@ -1,3 +1,4 @@ hooks mtime -recursivamente \ No newline at end of file +recursivamente +filecmp \ No newline at end of file diff --git a/dictionaries/library_formatter.txt b/dictionaries/library_formatter.txt new file mode 100644 index 0000000000..be7b4456b2 --- /dev/null +++ b/dictionaries/library_formatter.txt @@ -0,0 +1 @@ +formateadora \ No newline at end of file diff --git a/dictionaries/library_gc.txt b/dictionaries/library_gc.txt index 9af9329859..9b92e35d51 100644 --- a/dictionaries/library_gc.txt +++ b/dictionaries/library_gc.txt @@ -1,2 +1,5 @@ recolectables - +uncollectable +collected +generation +desreferenciado diff --git a/dictionaries/library_grp.txt b/dictionaries/library_grp.txt new file mode 100644 index 0000000000..851661dd52 --- /dev/null +++ b/dictionaries/library_grp.txt @@ -0,0 +1,2 @@ +gr +encriptado \ No newline at end of file diff --git a/dictionaries/library_hashlib.txt b/dictionaries/library_hashlib.txt index 8cddd11b89..8d6272240d 100644 --- a/dictionaries/library_hashlib.txt +++ b/dictionaries/library_hashlib.txt @@ -9,3 +9,11 @@ Commons Public Domain Dedication +adler +crc +Keccak +md +afinable +pseudoaleatoriedad +sha +Skein diff --git a/dictionaries/library_heapq.txt b/dictionaries/library_heapq.txt index 47693f6435..25aa16a97e 100644 --- a/dictionaries/library_heapq.txt +++ b/dictionaries/library_heapq.txt @@ -1,2 +1,10 @@ secuenciador desapilando +heap +min +max +pop +push +preclasificadas +reestablezca +th \ No newline at end of file diff --git a/dictionaries/library_hmac.txt b/dictionaries/library_hmac.txt index 3da1616170..2512b61e22 100644 --- a/dictionaries/library_hmac.txt +++ b/dictionaries/library_hmac.txt @@ -1 +1,2 @@ -hmac \ No newline at end of file +hmac +digestmod diff --git a/dictionaries/library_http.client.txt b/dictionaries/library_http.client.txt new file mode 100644 index 0000000000..9b4076f840 --- /dev/null +++ b/dictionaries/library_http.client.txt @@ -0,0 +1,3 @@ +http +client +Transfer \ No newline at end of file diff --git a/dictionaries/library_http.cookiejar.txt b/dictionaries/library_http.cookiejar.txt index 1a0ad5edd0..790fb67785 100644 --- a/dictionaries/library_http.cookiejar.txt +++ b/dictionaries/library_http.cookiejar.txt @@ -7,3 +7,24 @@ Lynx CookiePolicy DefaultCookiePolicy apagarla +policy +websocket +tunning +policy +server +side +ie +policy +trip +libwww +perl +policy +bolcked +domains +country +level +domain +matching +prefix +downgraded +downgrade diff --git a/dictionaries/library_http_cookies.txt b/dictionaries/library_http.cookies.txt similarity index 92% rename from dictionaries/library_http_cookies.txt rename to dictionaries/library_http.cookies.txt index bb86d09f6c..f07b4560b1 100644 --- a/dictionaries/library_http_cookies.txt +++ b/dictionaries/library_http.cookies.txt @@ -3,3 +3,4 @@ SimpleCookie analícela Morsel Morsels +Lax diff --git a/dictionaries/library_idle.txt b/dictionaries/library_idle.txt new file mode 100644 index 0000000000..7d9915a469 --- /dev/null +++ b/dictionaries/library_idle.txt @@ -0,0 +1 @@ +zzdummy \ No newline at end of file diff --git a/dictionaries/library_imaplib.txt b/dictionaries/library_imaplib.txt new file mode 100644 index 0000000000..8ee7b50554 --- /dev/null +++ b/dictionaries/library_imaplib.txt @@ -0,0 +1 @@ +Gmail \ No newline at end of file diff --git a/dictionaries/library_imghdr.txt b/dictionaries/library_imghdr.txt index 0d43fc318a..801d6fa8b4 100644 --- a/dictionaries/library_imghdr.txt +++ b/dictionaries/library_imghdr.txt @@ -5,3 +5,4 @@ Graymap Pixmap Raster Bitmap +imghdr \ No newline at end of file diff --git a/dictionaries/library_importlib.metadata.txt b/dictionaries/library_importlib.metadata.txt new file mode 100644 index 0000000000..ea00c38f0b --- /dev/null +++ b/dictionaries/library_importlib.metadata.txt @@ -0,0 +1 @@ +metadata \ No newline at end of file diff --git a/dictionaries/library_inspect.txt b/dictionaries/library_inspect.txt index 75231c2bc6..9aa1e91af5 100644 --- a/dictionaries/library_inspect.txt +++ b/dictionaries/library_inspect.txt @@ -7,3 +7,9 @@ Signature signature introspeccionables determinísticamente +return +args +arg +tracebacks +yield +annotation \ No newline at end of file diff --git a/dictionaries/library_io.txt b/dictionaries/library_io.txt index b9ae1efc40..29f74fbe2a 100644 --- a/dictionaries/library_io.txt +++ b/dictionaries/library_io.txt @@ -4,3 +4,6 @@ subclasifica Reconfigura preprocesamiento similarmente +subclasificaciones +buscable +interbloqueos \ No newline at end of file diff --git a/dictionaries/library_itertools.txt b/dictionaries/library_itertools.txt index 6c98b8e062..694288061c 100644 --- a/dictionaries/library_itertools.txt +++ b/dictionaries/library_itertools.txt @@ -4,3 +4,9 @@ pred seq itn step +it +elem +vectorizadas +key +sumable +stop \ No newline at end of file diff --git a/dictionaries/library_json.txt b/dictionaries/library_json.txt index 8b438c1959..70ed9718d4 100644 --- a/dictionaries/library_json.txt +++ b/dictionaries/library_json.txt @@ -8,3 +8,4 @@ deserializan serializaciones deserialicen deserializadores +null diff --git a/dictionaries/library_locale.txt b/dictionaries/library_locale.txt index 653501d57c..bd20161781 100644 --- a/dictionaries/library_locale.txt +++ b/dictionaries/library_locale.txt @@ -2,3 +2,7 @@ gettext locale portablemente programáticamente +am +pm +sign +posn \ No newline at end of file diff --git a/dictionaries/library_logging_handlers.txt b/dictionaries/library_logging.handlers.txt similarity index 53% rename from dictionaries/library_logging_handlers.txt rename to dictionaries/library_logging.handlers.txt index 099b704686..7ec5d4d93d 100644 --- a/dictionaries/library_logging_handlers.txt +++ b/dictionaries/library_logging.handlers.txt @@ -3,4 +3,12 @@ serializado serializada deserializar datagrama +warning +port +rotator +namer +rsyslog +tag +method descripto +terminator diff --git a/dictionaries/library_logging.txt b/dictionaries/library_logging.txt new file mode 100644 index 0000000000..5e27f38927 --- /dev/null +++ b/dictionaries/library_logging.txt @@ -0,0 +1,6 @@ +sobreescritos +formatting +recalcule +uuu +clientip +xy diff --git a/dictionaries/library_lzma.txt b/dictionaries/library_lzma.txt index bc7dfdbd31..7027183a87 100644 --- a/dictionaries/library_lzma.txt +++ b/dictionaries/library_lzma.txt @@ -3,3 +3,5 @@ chequeos Hash GiB kiB +incrementalmente +sobreescritura \ No newline at end of file diff --git a/dictionaries/library_mailbox.txt b/dictionaries/library_mailbox.txt index 022e443547..0608cd367e 100644 --- a/dictionaries/library_mailbox.txt +++ b/dictionaries/library_mailbox.txt @@ -6,3 +6,11 @@ Rmail qmail reformateados moverlos +Courier +Mailbox +Underscore +multicanal +tin +cur +deleted +Archived \ No newline at end of file diff --git a/dictionaries/library_mailcap.txt b/dictionaries/library_mailcap.txt index 8caae6ff5f..2059e99139 100644 --- a/dictionaries/library_mailcap.txt +++ b/dictionaries/library_mailcap.txt @@ -5,4 +5,8 @@ Mailcap Agent For Mail -Configuration +mail +capability +Information +compose +view diff --git a/dictionaries/library_marshal.txt b/dictionaries/library_marshal.txt index fbb043764f..35550a03ef 100644 --- a/dictionaries/library_marshal.txt +++ b/dictionaries/library_marshal.txt @@ -1,2 +1,8 @@ pickle marshalled +pseudocompilado +frozenset +unmarshalled +unmarshallable +marshalling +unmarshalling diff --git a/dictionaries/library_modulefinder.txt b/dictionaries/library_modulefinder.txt new file mode 100644 index 0000000000..6e953b2023 --- /dev/null +++ b/dictionaries/library_modulefinder.txt @@ -0,0 +1 @@ +bacon diff --git a/dictionaries/library_msvcrt.txt b/dictionaries/library_msvcrt.txt new file mode 100644 index 0000000000..04e5d3b5d7 --- /dev/null +++ b/dictionaries/library_msvcrt.txt @@ -0,0 +1 @@ +kbd \ No newline at end of file diff --git a/dictionaries/library_os.txt b/dictionaries/library_os.txt index 97eedaa655..c8e718ba32 100644 --- a/dictionaries/library_os.txt +++ b/dictionaries/library_os.txt @@ -15,3 +15,28 @@ ejecutabilidad misceláneas entropía interactividad +v +ruid +sgid +suid +euid +egid +rgid +round +robin +subshell +signal +subshell +stdio +ctime +configurarlos +reescritura +stat +setgid +setuid +setgroups +initgroups +putenv +spawn +execv +group \ No newline at end of file diff --git a/dictionaries/library_osaudiodev.txt b/dictionaries/library_osaudiodev.txt new file mode 100644 index 0000000000..ecad58b315 --- /dev/null +++ b/dictionaries/library_osaudiodev.txt @@ -0,0 +1,2 @@ +Gravis +semidúplex \ No newline at end of file diff --git a/dictionaries/library_othergui.txt b/dictionaries/library_othergui.txt index 4121dd3558..a1e37a265f 100644 --- a/dictionaries/library_othergui.txt +++ b/dictionaries/library_othergui.txt @@ -1,2 +1,4 @@ kits -GUI \ No newline at end of file +GUI +Nokia +wxWindows \ No newline at end of file diff --git a/dictionaries/library_pdb.txt b/dictionaries/library_pdb.txt index 40a853e20c..d3af64f76c 100644 --- a/dictionaries/library_pdb.txt +++ b/dictionaries/library_pdb.txt @@ -2,3 +2,5 @@ pdb Pdb readrc decrementa +silent +pdbrc \ No newline at end of file diff --git a/dictionaries/library_platform.txt b/dictionaries/library_platform.txt index 2454ab2adf..98dd27419d 100644 --- a/dictionaries/library_platform.txt +++ b/dictionaries/library_platform.txt @@ -1,4 +1,8 @@ libc patchlevel uname -reordenación \ No newline at end of file +reordenación +multiprocesador +service +pack +IoT \ No newline at end of file diff --git a/dictionaries/library_poplib.txt b/dictionaries/library_poplib.txt index 0b7291edf9..bb302d81d3 100644 --- a/dictionaries/library_poplib.txt +++ b/dictionaries/library_poplib.txt @@ -13,5 +13,10 @@ TOP RFC CA SSL -POP3-over-SSL -IMAP \ No newline at end of file +over +IMAP +off +brand +keep +alive +desconexión \ No newline at end of file diff --git a/dictionaries/library_profile.txt b/dictionaries/library_profile.txt new file mode 100644 index 0000000000..c4135b5c48 --- /dev/null +++ b/dictionaries/library_profile.txt @@ -0,0 +1,5 @@ +Ghz +sublista +lineno +filename +Czotter \ No newline at end of file diff --git a/dictionaries/library_pyclbr.txt b/dictionaries/library_pyclbr.txt new file mode 100644 index 0000000000..8dde6c152b --- /dev/null +++ b/dictionaries/library_pyclbr.txt @@ -0,0 +1 @@ +children \ No newline at end of file diff --git a/dictionaries/library_pydoc.txt b/dictionaries/library_pydoc.txt new file mode 100644 index 0000000000..cd011014e8 --- /dev/null +++ b/dictionaries/library_pydoc.txt @@ -0,0 +1 @@ +paginación \ No newline at end of file diff --git a/dictionaries/library_queue.txt b/dictionaries/library_queue.txt new file mode 100644 index 0000000000..71172e3871 --- /dev/null +++ b/dictionaries/library_queue.txt @@ -0,0 +1,4 @@ +empty +qsize +put +full \ No newline at end of file diff --git a/dictionaries/library_quopri.txt b/dictionaries/library_quopri.txt new file mode 100644 index 0000000000..50628c5fe4 --- /dev/null +++ b/dictionaries/library_quopri.txt @@ -0,0 +1 @@ +Multipurpose diff --git a/dictionaries/library_re.txt b/dictionaries/library_re.txt new file mode 100644 index 0000000000..1dd825dc33 --- /dev/null +++ b/dictionaries/library_re.txt @@ -0,0 +1 @@ +İ \ No newline at end of file diff --git a/dictionaries/library_readline.txt b/dictionaries/library_readline.txt new file mode 100644 index 0000000000..daae40a698 --- /dev/null +++ b/dictionaries/library_readline.txt @@ -0,0 +1 @@ +libedit \ No newline at end of file diff --git a/dictionaries/library_resource.txt b/dictionaries/library_resource.txt new file mode 100644 index 0000000000..d0ed3a6a6e --- /dev/null +++ b/dictionaries/library_resource.txt @@ -0,0 +1,5 @@ +rlim +mbufs +vm +overcommit +sysctl diff --git a/dictionaries/library_select.txt b/dictionaries/library_select.txt new file mode 100644 index 0000000000..6c0f953459 --- /dev/null +++ b/dictionaries/library_select.txt @@ -0,0 +1,6 @@ +WinSock +kqueue +events +epolling +Permitscontrol +max \ No newline at end of file diff --git a/dictionaries/library_shlex.txt b/dictionaries/library_shlex.txt new file mode 100644 index 0000000000..32e500437a --- /dev/null +++ b/dictionaries/library_shlex.txt @@ -0,0 +1,3 @@ +close +punctuation +chars \ No newline at end of file diff --git a/dictionaries/library_signal.txt b/dictionaries/library_signal.txt index d6714a6dae..46ad825716 100644 --- a/dictionaries/library_signal.txt +++ b/dictionaries/library_signal.txt @@ -5,3 +5,4 @@ poll wakeup wakeups interrumpible +sigmask diff --git a/dictionaries/library_site.txt b/dictionaries/library_site.txt new file mode 100644 index 0000000000..d09c35ace7 --- /dev/null +++ b/dictionaries/library_site.txt @@ -0,0 +1,6 @@ +site +packages +deshabilitarlo +packages +subsubdirectorios +pyvenv \ No newline at end of file diff --git a/dictionaries/library_smtplib.txt b/dictionaries/library_smtplib.txt index 293986d100..d266fa8eef 100644 --- a/dictionaries/library_smtplib.txt +++ b/dictionaries/library_smtplib.txt @@ -3,3 +3,9 @@ host hostname millaje Conéctese +address +initialization +connect +address +username +spammers diff --git a/dictionaries/library_spwd.txt b/dictionaries/library_spwd.txt new file mode 100644 index 0000000000..e4900e5bec --- /dev/null +++ b/dictionaries/library_spwd.txt @@ -0,0 +1,3 @@ +sp +namp +pwdp \ No newline at end of file diff --git a/dictionaries/library_sqlite3.txt b/dictionaries/library_sqlite3.txt index 154c06a26d..63406be54e 100644 --- a/dictionaries/library_sqlite3.txt +++ b/dictionaries/library_sqlite3.txt @@ -9,3 +9,14 @@ sobrecoste arraysize rowid datetime +André +Lemburg +mytype +Expiration +depurarlas +bytestrings +temp +qmark +timestamps +rollback +loadable diff --git a/dictionaries/library_ssl.txt b/dictionaries/library_ssl.txt new file mode 100644 index 0000000000..2b24c1a9e0 --- /dev/null +++ b/dictionaries/library_ssl.txt @@ -0,0 +1,43 @@ +blob +cafile +capath +CertificateRequest +Change +cipher +Client +daemon +daemons +disjunto +Elliptic +handshake +Hello +HelloRequest +keylog +matchings +openssl +Spec +ssl +subjectAltName +ticket +tickets +Trust +wrapper +Secure +Layer +matching +Poly +cryptographic +hard +coded +cert +trust +matching +hostnames +Diffie +Hellman +tls +unique +server +Wireshark +certs +Basic diff --git a/dictionaries/library_stdtypes.txt b/dictionaries/library_stdtypes.txt index fb3712313d..0219d607e7 100644 --- a/dictionaries/library_stdtypes.txt +++ b/dictionaries/library_stdtypes.txt @@ -3,3 +3,5 @@ Cardinalidad superconjunto superíndices unaria +Ll +Lu \ No newline at end of file diff --git a/dictionaries/library_stringprep.txt b/dictionaries/library_stringprep.txt new file mode 100644 index 0000000000..0f959e88bf --- /dev/null +++ b/dictionaries/library_stringprep.txt @@ -0,0 +1,5 @@ +tablaA +tablaB +tablaC +tablaD +surrogados diff --git a/dictionaries/library_sys.txt b/dictionaries/library_sys.txt index a49ea39457..84d75f8191 100644 --- a/dictionaries/library_sys.txt +++ b/dictionaries/library_sys.txt @@ -3,3 +3,8 @@ nan cachés pycache codifíquelo +replace +pth +pydebug +surrogateescape +enumerador \ No newline at end of file diff --git a/dictionaries/library_tarfile.txt b/dictionaries/library_tarfile.txt index e2b64b23e2..f916dd95d3 100644 --- a/dictionaries/library_tarfile.txt +++ b/dictionaries/library_tarfile.txt @@ -5,3 +5,8 @@ Output GiB bsdtar libarchive +ustar +star +fifo +w +fifos \ No newline at end of file diff --git a/dictionaries/library_telnetlib.txt b/dictionaries/library_telnetlib.txt index 1ab48545d9..29d8ae5f19 100644 --- a/dictionaries/library_telnetlib.txt +++ b/dictionaries/library_telnetlib.txt @@ -1,3 +1,20 @@ Telnet telnet You +telnetlib +suboption +begin +Begin +end +End +Abort +Ahead +Break +Character +Interrupt +Line +Operation +Subnegotiation +There +output +process diff --git a/dictionaries/library_test.txt b/dictionaries/library_test.txt index 5fadc6a227..bbe5c5264c 100644 --- a/dictionaries/library_test.txt +++ b/dictionaries/library_test.txt @@ -13,3 +13,5 @@ reutilización subinterpretador subinterpretadores PyUnit +refleaks +regrtest \ No newline at end of file diff --git a/dictionaries/library_time.txt b/dictionaries/library_time.txt index 39cb2da62c..ed05b39d25 100644 --- a/dictionaries/library_time.txt +++ b/dictionaries/library_time.txt @@ -1,2 +1,6 @@ range monotónico +monotónicamente +Greenwich +dst +zoneinfo \ No newline at end of file diff --git a/dictionaries/library_tkinter.tix.txt b/dictionaries/library_tkinter.tix.txt index 61bac1940d..c773d5b902 100644 --- a/dictionaries/library_tkinter.tix.txt +++ b/dictionaries/library_tkinter.tix.txt @@ -3,3 +3,8 @@ redimensionamiento bitmap sublista xbm +configurables +bitmaps +Motif +check +box \ No newline at end of file diff --git a/dictionaries/library_tkinter.ttk.txt b/dictionaries/library_tkinter.ttk.txt new file mode 100644 index 0000000000..d61e8ef485 --- /dev/null +++ b/dictionaries/library_tkinter.ttk.txt @@ -0,0 +1,55 @@ +Ttk +fg +bg +monografía +tkinter +Treeview +notebook +notebooks +Combobox +spinbox +Button +Checkbuttons +radiobuttons +desasocian +mnemotécnico +mnemotécnica +clickeando +reinsertados +mouse +element +somewidget +ThemeChanged +image +layout +themename +value +statespec +imagespec +vsapi +winfo +anchor +displaycolumns +width +all +tree +bottom +left +right +none +current +scrollcommand +Misc +readonly +disabled +Pf +Down +Up +determinate +indeterminate +browse +headings +selection +center +register +hidden \ No newline at end of file diff --git a/dictionaries/library_tkinter.txt b/dictionaries/library_tkinter.txt new file mode 100644 index 0000000000..81c638f7dc --- /dev/null +++ b/dictionaries/library_tkinter.txt @@ -0,0 +1 @@ +wrap diff --git a/dictionaries/library_tkinter_ttk.txt b/dictionaries/library_tkinter_ttk.txt deleted file mode 100644 index 240d1ed9ee..0000000000 --- a/dictionaries/library_tkinter_ttk.txt +++ /dev/null @@ -1,19 +0,0 @@ -Ttk -fg -bg -monografía -tkinter -Treeview -notebook -notebooks -Combobox -spinbox -Button -Checkbuttons -radiobuttons -desasocian -mnemotécnico -mnemotécnica -clickeando -reinsertados -mouse diff --git a/dictionaries/library_trace.txt b/dictionaries/library_trace.txt new file mode 100644 index 0000000000..6eab79a6ce --- /dev/null +++ b/dictionaries/library_trace.txt @@ -0,0 +1 @@ +missing \ No newline at end of file diff --git a/dictionaries/library_tracemalloc.txt b/dictionaries/library_tracemalloc.txt index f4e57d76ab..cda7821ce3 100644 --- a/dictionaries/library_tracemalloc.txt +++ b/dictionaries/library_tracemalloc.txt @@ -1,3 +1,4 @@ desinstala - - +frozen +offline +bootstrap diff --git a/dictionaries/library_turtle.txt b/dictionaries/library_turtle.txt index 605d28be49..624efe5cd3 100644 --- a/dictionaries/library_turtle.txt +++ b/dictionaries/library_turtle.txt @@ -74,3 +74,12 @@ nim docstringdict aperiódico gravitacional +inscripto +arrow +Verhulst +kolams +shape +nimsticks +shapepoly +tiltangle +keyrelease diff --git a/dictionaries/library_unicodedata.txt b/dictionaries/library_unicodedata.txt new file mode 100644 index 0000000000..c54919d6d0 --- /dev/null +++ b/dictionaries/library_unicodedata.txt @@ -0,0 +1 @@ +gb \ No newline at end of file diff --git a/dictionaries/library_unittest.mock.txt b/dictionaries/library_unittest.mock.txt index 04768a2701..2553681c09 100644 --- a/dictionaries/library_unittest.mock.txt +++ b/dictionaries/library_unittest.mock.txt @@ -25,3 +25,8 @@ sizeof start stop stubs +awaits +awaitable +autoespecificados +spec +deshacerlo diff --git a/dictionaries/library_unittest.txt b/dictionaries/library_unittest.txt new file mode 100644 index 0000000000..86917fa045 --- /dev/null +++ b/dictionaries/library_unittest.txt @@ -0,0 +1,38 @@ +Beck +Dicts +Kent +TestCase +TestSuite +Testea +Unittest +aleatoriza +break +catch +debugger +discover +discovery +errors +fail +fixture +frozenset +frozensets +instanciará +locals +logs +longMessage +msg +refactorizaciones +reimplementar +runner +setUpClass +setUpModule +standard +subtest +subtests +tb +tearDownClass +tearDownModule +tests +testea +unittest +verbosity diff --git a/dictionaries/library_urllib.request.txt b/dictionaries/library_urllib.request.txt index ca988ebf1a..c7bbafbee8 100644 --- a/dictionaries/library_urllib.request.txt +++ b/dictionaries/library_urllib.request.txt @@ -27,4 +27,14 @@ BasicAuth ProxyHandler userinfo msg -AbstractBasicAuthHandler \ No newline at end of file +AbstractBasicAuthHandler +digest +setter +deleter +redireccionada +req +unverifiable +manejadoras +permanently +redirect +addinfourl diff --git a/dictionaries/library_uu.txt b/dictionaries/library_uu.txt index 9bad441095..e8e2365c1d 100644 --- a/dictionaries/library_uu.txt +++ b/dictionaries/library_uu.txt @@ -1,2 +1,3 @@ Ellinghouse Jack +Jansen diff --git a/dictionaries/library_venv.txt b/dictionaries/library_venv.txt new file mode 100644 index 0000000000..5ceb3864c2 --- /dev/null +++ b/dictionaries/library_venv.txt @@ -0,0 +1 @@ +venv diff --git a/dictionaries/library_weakref.txt b/dictionaries/library_weakref.txt index 64a2f3a656..a7184abfd1 100644 --- a/dictionaries/library_weakref.txt +++ b/dictionaries/library_weakref.txt @@ -2,3 +2,6 @@ reusar retrollamada retrollamadas dereferencia +mapeable +threading +lock \ No newline at end of file diff --git a/dictionaries/library_webbrowser.txt b/dictionaries/library_webbrowser.txt index 744c5ea557..1c2077fd10 100644 --- a/dictionaries/library_webbrowser.txt +++ b/dictionaries/library_webbrowser.txt @@ -1 +1,5 @@ -instanciaciones \ No newline at end of file +instanciaciones +Chrome +Chromium +kfm +Konqueror \ No newline at end of file diff --git a/dictionaries/library_winsound.txt b/dictionaries/library_winsound.txt new file mode 100644 index 0000000000..c2d65fd930 --- /dev/null +++ b/dictionaries/library_winsound.txt @@ -0,0 +1,2 @@ +winsound +hz \ No newline at end of file diff --git a/dictionaries/library_wsgiref.txt b/dictionaries/library_wsgiref.txt index bb8ed39389..76c6bdfeb5 100644 --- a/dictionaries/library_wsgiref.txt +++ b/dictionaries/library_wsgiref.txt @@ -1,2 +1,13 @@ transcodifica frameworks +Hop +by +Hello +World +world +Platform +Reconstruction +https +Handling +header +Specific \ No newline at end of file diff --git a/dictionaries/library_xdrlib.txt b/dictionaries/library_xdrlib.txt new file mode 100644 index 0000000000..20a6d80a39 --- /dev/null +++ b/dictionaries/library_xdrlib.txt @@ -0,0 +1,2 @@ +Microsystems +Inc diff --git a/dictionaries/library_xml.dom.minidom.txt b/dictionaries/library_xml.dom.minidom.txt index 0ac37b8c22..bcc881a2da 100644 --- a/dictionaries/library_xml.dom.minidom.txt +++ b/dictionaries/library_xml.dom.minidom.txt @@ -3,4 +3,4 @@ minidom Model solucionador subnodos - +pythónicas diff --git a/dictionaries/library_xml.dom.txt b/dictionaries/library_xml.dom.txt new file mode 100644 index 0000000000..ebd101c936 --- /dev/null +++ b/dictionaries/library_xml.dom.txt @@ -0,0 +1,3 @@ +definirlas +controversial +live \ No newline at end of file diff --git a/dictionaries/library_xml.etree.elementtree.txt b/dictionaries/library_xml.etree.elementtree.txt new file mode 100644 index 0000000000..2368132399 --- /dev/null +++ b/dictionaries/library_xml.etree.elementtree.txt @@ -0,0 +1,21 @@ +callable +cárguelo +comment +debugging +Element +ElementTree +ElementInclude +expat +fictional +find +href +ns +push +qname +serializadores +serializarán +tail +text +TreeBuilder +uri +xmlns diff --git a/dictionaries/library_xml.sax.handler.txt b/dictionaries/library_xml.sax.handler.txt new file mode 100644 index 0000000000..52c5e004d7 --- /dev/null +++ b/dictionaries/library_xml.sax.handler.txt @@ -0,0 +1,2 @@ +xml +sax diff --git a/dictionaries/library_xml.sax.reader.txt b/dictionaries/library_xml.sax.reader.txt new file mode 100644 index 0000000000..25118dff9d --- /dev/null +++ b/dictionaries/library_xml.sax.reader.txt @@ -0,0 +1,3 @@ +resolveEntity +like +setEncoding diff --git a/dictionaries/library_xml.sax.utils.txt b/dictionaries/library_xml.sax.utils.txt index 3ab39b874a..a3500710c6 100644 --- a/dictionaries/library_xml.sax.utils.txt +++ b/dictionaries/library_xml.sax.utils.txt @@ -1 +1,2 @@ -polimórfico \ No newline at end of file +polimórfico +autocerrada \ No newline at end of file diff --git a/dictionaries/library_xmlrpc.server.txt b/dictionaries/library_xmlrpc.server.txt new file mode 100644 index 0000000000..a842323278 --- /dev/null +++ b/dictionaries/library_xmlrpc.server.txt @@ -0,0 +1,4 @@ +ExampleService +pydoc +autodocumentados +multicall \ No newline at end of file diff --git a/dictionaries/library_xmlrpc_server.txt b/dictionaries/library_xmlrpc_server.txt deleted file mode 100644 index 8f675a46ff..0000000000 --- a/dictionaries/library_xmlrpc_server.txt +++ /dev/null @@ -1 +0,0 @@ -ExampleService \ No newline at end of file diff --git a/dictionaries/library_zipapp.txt b/dictionaries/library_zipapp.txt index c2be192983..0194ade95d 100644 --- a/dictionaries/library_zipapp.txt +++ b/dictionaries/library_zipapp.txt @@ -11,3 +11,12 @@ Windows zip Zip zipapp +shebang +modificándolo +callable +pkg +deflate +create +fn +Limited +antepuestos \ No newline at end of file diff --git a/dictionaries/library_zipfile.txt b/dictionaries/library_zipfile.txt index ad9a016290..2794f23088 100644 --- a/dictionaries/library_zipfile.txt +++ b/dictionaries/library_zipfile.txt @@ -1,3 +1,4 @@ ZipFile PyZipFile ZipInfo +zipp \ No newline at end of file diff --git a/dictionaries/logging.txt b/dictionaries/logging.txt index 89e373d759..95930897ec 100644 --- a/dictionaries/logging.txt +++ b/dictionaries/logging.txt @@ -1,4 +1,7 @@ strptime loggers LogRecord -LoggerAdapter \ No newline at end of file +LoggerAdapter +concurrent +futures +gz diff --git a/dictionaries/reference_compound_stmts.txt b/dictionaries/reference_compound_stmts.txt new file mode 100644 index 0000000000..2d866fb770 --- /dev/null +++ b/dictionaries/reference_compound_stmts.txt @@ -0,0 +1 @@ +precalculado \ No newline at end of file diff --git a/dictionaries/reference_datamodel.txt b/dictionaries/reference_datamodel.txt new file mode 100644 index 0000000000..7c3677fd9b --- /dev/null +++ b/dictionaries/reference_datamodel.txt @@ -0,0 +1,3 @@ +objects +zero +awaitable diff --git a/dictionaries/reference_expressions.txt b/dictionaries/reference_expressions.txt index e30dc370b0..78ec25c601 100644 --- a/dictionaries/reference_expressions.txt +++ b/dictionaries/reference_expressions.txt @@ -6,4 +6,8 @@ reflexibilidad superconjuntos superconjuntos lexicográficamente -unarios \ No newline at end of file +unarios +walrus +floor +algorítmicamente +inhashables \ No newline at end of file diff --git a/dictionaries/reference_import.txt b/dictionaries/reference_import.txt index 7573e478a7..5f7e46d392 100644 --- a/dictionaries/reference_import.txt +++ b/dictionaries/reference_import.txt @@ -13,3 +13,18 @@ pseudocódigo caché zipfile importlib +submodule +machinery +rst +pkgutil +runpy +origin +moduleY +location +locations +loader +zipfiles +inicializándolo +attrs +init +exec diff --git a/dictionaries/reference_lexical_analysis.txt b/dictionaries/reference_lexical_analysis.txt new file mode 100644 index 0000000000..855f314304 --- /dev/null +++ b/dictionaries/reference_lexical_analysis.txt @@ -0,0 +1 @@ +Moolenaar diff --git a/dictionaries/sphinx.txt b/dictionaries/sphinx.txt index ca94431022..5ad894de27 100644 --- a/dictionaries/sphinx.txt +++ b/dictionaries/sphinx.txt @@ -1,2 +1,5 @@ Foundation -Cómos \ No newline at end of file +Cómos +updated +last +em \ No newline at end of file diff --git a/dictionaries/using_cmdline.txt b/dictionaries/using_cmdline.txt index bab596ca18..441b725d03 100644 --- a/dictionaries/using_cmdline.txt +++ b/dictionaries/using_cmdline.txt @@ -4,4 +4,5 @@ traceback auditing autocomprobación autocomprobaciónes -hashes \ No newline at end of file +hashes +precompilados \ No newline at end of file diff --git a/dictionaries/using_mac.txt b/dictionaries/using_mac.txt new file mode 100644 index 0000000000..910c35e505 --- /dev/null +++ b/dictionaries/using_mac.txt @@ -0,0 +1,4 @@ +app +Applet +PythonLauncher +Applet \ No newline at end of file diff --git a/dictionaries/using_windows.txt b/dictionaries/using_windows.txt index 92c00c8c7e..d0af0fbcbd 100644 --- a/dictionaries/using_windows.txt +++ b/dictionaries/using_windows.txt @@ -21,3 +21,18 @@ shebang them under without +Now +Customize +installation +posinstalación +paths +vendoring +numpy +Excurso +Modify +hello +ini +pyw +Creating +Installing +Sauvage diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index a8be8f3872..16b22a95f7 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -3,3 +3,11 @@ Kuchling subsistemas syslogging Travis +amk +warnings +simplefilter +Bethard +values +items +Oliphant +reinsertándola diff --git a/dictionaries/whatsnew_3.0.txt b/dictionaries/whatsnew_3.0.txt index 14b1768773..7dd91d31ee 100644 --- a/dictionaries/whatsnew_3.0.txt +++ b/dictionaries/whatsnew_3.0.txt @@ -1,3 +1,6 @@ atractivamente introspeccionar - +softspace +generate +Tru +Prerrequisito diff --git a/dictionaries/whatsnew_3.2.txt b/dictionaries/whatsnew_3.2.txt index 2564d83a98..60bdb9de80 100644 --- a/dictionaries/whatsnew_3.2.txt +++ b/dictionaries/whatsnew_3.2.txt @@ -1,24 +1,30 @@ +Abraham Adam Alexandre +Allen Amaury Anand Andress Andrew Antoine +AquaTk +Arahesis Arc +Arfrever Armin -asignador +Baker Beazley Belopolsky Benjamin Bennetts +Bethard Bolton Brandl Builds Bupjoe Carbon -casing Catucci +Chenet Christos Cocoa Connect @@ -27,49 +33,54 @@ Daode Dave Deily Dickinson -disfuncional Distutils Eckhardt Ezio Florent Foord Forgeot +Frehtes Gawain Georg Georgiou Giampaolo -gotos -hash Hettinger Ilya +Indication +Interpreter +Jenvey +Jónsson Kannada +Kevin Kleckner +Kristján Kumaran Landsch Latin -long Lue Mac Mahn Malcolm +Marcin Mark Mattias Melotti Michael +Miki Murray Ned Neil New Nick -nntplib Nurpmeso Oussoren Peterson +Philip +Pillai Pitrou -port Pthreads -pymalloc -pysqlite +Quinlan +Ray Raymond Regex Regexp @@ -77,75 +88,68 @@ Reid Rodolpho Ronacher Ronald +Sablé Sandler Sat Schaaf Schemenauer Senthil -shells +Server +Shashwat +Steffen Stinner -stringlib Stutzbach +Subversion Swallow Tai +Taifersar +Talbot Tarek Tcl -tempfile -temporary +Tebeka +Terrence Tk -tokens Torsten -tupla Unicode -unittest Unladen +Urban Valgrind +Valur Vant Vassalotti Walzer +Wojdyr X Xicluna +Yasskin Ziadé -transcodificar +asignador +autorreferencia +camel +casing +cpython +desaconsejable +disfuncional +gotos +hash introspectar -sublistas +long +mymodule +nntplib +port +preconstruida +pymalloc +pyshared +pysqlite +shells +stringlib subelementos -autorreferencia -Marcin -Wojdyr -Arahesis -Arfrever -Frehtes -Taifersar -Jenvey -Philip -Stutzbach -Florent -Xicluna -Miki -Terrence -Jónsson -Kristján -Valur -Yasskin -Abraham -Talbot -Foord -Tarek -Ziadé -Sablé -Anand -Pillai -Chenet -Shashwat -Allen -Ray -Łukasz -Steffen +sublistas +tempfile +temporary +tokens +transcodificar +tupla +unittest +unladen Łukasz -AquaTk -Kevin -Subversion -Indication -Server -Interpreter diff --git a/dictionaries/whatsnew_3.3.txt b/dictionaries/whatsnew_3.3.txt index 7fb482041d..e434259e7f 100644 --- a/dictionaries/whatsnew_3.3.txt +++ b/dictionaries/whatsnew_3.3.txt @@ -1,96 +1,135 @@ +Aides +Arnaud Becker -Martin -Torsten -lanzándolas -Krah +Blanch +Boswell +Calderone +Calmettes +Carlson +Catalin +Chris +Chrome +Clark +Colin Curtin -subgenerador -factorizar -subiteradores -subgeneradores -Kelly -Renaud -Ryan -Zbigniew -Furman -Jiwon +Darren +Ewert +Ewing Ezio -Melotti -Lehtinen -Petri +François +Furman +Goderbauer +Gonçalves Gruszczyński -Moody -Colin -Peter -Natali -libmpdec -Libmpdec -linesep -Peter -Karlsen -Nadeem -Vawda -Øyvind -Darren +Gustäbel +Heiko +Herath Hirokazu -Tirosh -Negotiation -Yamamoto -Catalin +Hynek Iacob -Petrou -Aides -Nir -multibyte +Inge Iñigo -Schaaf -Kuhn +Jacek +Jauhiainen +Jean +Jiwon Joseph -Sijin -Inge +Josiah +Juhana +Justin +Karlsen +Kasun +Kelly +Klose +Konieczny +Krah +Kuhn +Lagerwall +Landschoff +Lars +Lehtinen +Libmpdec +Lowis +Löwis +Martin Meador -Townsend +Melotti +Moody +Nadeem +Natali +Negotiation +Niehof +Nir Oudkerk +Peter +Petri +Petrou +Renaud Richard -Hynek -Schlawack -Lagerwall -Zbigniew -Carlson -Josiah -Chris -Clark +Ryan Sandro -Tosi -desreferencian -Niehof -Löwis -Calderone -Juhana Scardine -Herath -Kasun -Heiko -Watson -Gonçalves +Schaaf +Schlawack +Sijin +Simpkins +Szmek Tiago -Goderbauer -Justin +Tirosh +Torsten +Tosi +Townsend +Treviño +Vawda +Virtualenv Warkentin -Landschoff -sql -Simpkins -Jacek -Konieczny -introspectarse -Gustäbel -Lars -subclasificadas -Ewert +Watson Winston -Arnaud -Calmettes -Chrome -Klose +Wundram +Yamamoto +Zbigniew +cast +decode +desreferencian +directory +division +editables +encode +factorizar +filemode +fopen +getbufferproc +hashing +implementation +introspectarse +lanzándolas +libmpdec +linesep +linux +localtime +multibyte +ncursesw +numèricos +package +page pep +platform +reconstruídas +reestricciones +sql +sqlite +startswith +subclasificadas +subgenerador +subgeneradores +subindices +subiteradores +symlink +tarfile +target +timezone ubicarla +utils +wide +xff +Øyvind diff --git a/dictionaries/whatsnew_3.7.txt b/dictionaries/whatsnew_3.7.txt new file mode 100644 index 0000000000..8f4f9550bf --- /dev/null +++ b/dictionaries/whatsnew_3.7.txt @@ -0,0 +1,17 @@ +Trusty +autocompletar +based +bmp +idempotentes +issues +jessie +nix +shot +sincronicas +stretch +subminutos +switch +warn +xenial +Є +factorizado diff --git a/dictionaries/whatsnew_index.txt b/dictionaries/whatsnew_index.txt new file mode 100644 index 0000000000..b4a545d947 --- /dev/null +++ b/dictionaries/whatsnew_index.txt @@ -0,0 +1 @@ +Changelog diff --git a/distributing/index.po b/distributing/index.po index 71adae1eb2..ad71d3f995 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-16 20:23-0300\n" -"Last-Translator: Federico Jurío \n" +"PO-Revision-Date: 2021-08-02 10:49+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/distributing/index.rst:5 msgid "Distributing Python Modules" @@ -284,7 +285,7 @@ msgstr "`Subiendo el proyecto al Python Packaging Index`_" #: ../Doc/distributing/index.rst:131 msgid "`The .pypirc file`_" -msgstr "" +msgstr "`El archivo .pypirc`_" #: ../Doc/distributing/index.rst:144 msgid "How do I...?" diff --git a/distutils/apiref.po b/distutils/apiref.po index 3713120aad..f7321b4454 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-09-13 20:10-0400\n" -"Last-Translator: Samantha Valdez\n" +"PO-Revision-Date: 2021-08-02 10:58+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/distutils/apiref.rst:5 msgid "API Reference" @@ -2143,31 +2144,45 @@ msgid "" "earlier returned only a single additional field with the AIX Version and " "Release." msgstr "" +"Para AIX, Python 3.9 y versiones posteriores retornan una cadena que " +"comienza con \"aix\", seguida de campos adicionales (separados por ``'-'``) " +"que representan los valores combinados de Versión de AIX, Release y Nivel de " +"tecnología (primer campo), Fecha de Construcción (segundo campo) y tamaño de " +"bits (tercer campo). Python 3.8 y anteriores retornaban solo un campo " +"adicional con la versión y lanzamiento de AIX." #: ../Doc/distutils/apiref.rst:1151 -#, fuzzy msgid "Examples of returned values on AIX:" -msgstr "Ejemplos de valores retornados:" +msgstr "Ejemplos de valores retornados en AIX:" #: ../Doc/distutils/apiref.rst:1153 msgid "" "``aix-5307-0747-32`` # 32-bit build on AIX ``oslevel -s``: 5300-07-00-0000" msgstr "" +"``aix-5307-0747-32`` # construcción 32-bit en AIX ``oslevel -s``: " +"5300-07-00-0000" #: ../Doc/distutils/apiref.rst:1155 msgid "" "``aix-7105-1731-64`` # 64-bit build on AIX ``oslevel -s``: 7100-05-01-1731" msgstr "" +"``aix-7105-1731-64`` # construcción 64-bit en AIX ``oslevel -s``: " +"7100-05-01-1731" #: ../Doc/distutils/apiref.rst:1157 msgid "``aix-7.2`` # Legacy form reported in Python 3.8 and earlier" msgstr "" +"``aix-7.2`` # Forma heredada informada en Python 3.8 y versiones " +"anteriores" #: ../Doc/distutils/apiref.rst:1159 msgid "" "The AIX platform string format now also includes the technology level, build " "date, and ABI bit-size." msgstr "" +"El formato de cadena de caracteres de la plataforma AIX ahora también " +"incluye el nivel de tecnología, la fecha de construcción y el tamaño de bits " +"de ABI." #: ../Doc/distutils/apiref.rst:1166 msgid "" @@ -2524,8 +2539,8 @@ msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" msgstr "" -"option_table es una lista de 3 tuplas: ``(long_option, short_option, " -"help_string)``" +"La opción option_table es una lista de 3 tuplas: ``(long_option, " +"short_option, help_string)``" #: ../Doc/distutils/apiref.rst:1381 msgid "" diff --git a/distutils/builtdist.po b/distutils/builtdist.po index 4fbb8e6f8d..e3abb40763 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-10-15 16:05+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10:55+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_ES\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/distutils/builtdist.rst:5 msgid "Creating Built Distributions" @@ -341,9 +342,9 @@ msgid "" msgstr "" "No tiene que usar el comando :command:`bdist` con la opción :option:`!--" "formats`; también puede usar el comando que directamente implementa el " -"formato en el que esté interesado. Algunos de estos :command:`bdist` \"sub-" -"commands\" de hecho generan varios formatos similares; por ejemplo, el " -"comando :command:`bdist_dumb` genera todos los formatos de archivo \"dumb" +"formato en el que esté interesado. Algunos de estos subcomandos :command:" +"`bdist` de hecho generan varios formatos similares; por ejemplo, el comando :" +"command:`bdist_dumb` genera todos los formatos de archivo \"dumb" "\" (``tar``, ``gztar``, ``bztar``, ``xztar``, ``ztar``, y ``zip``), y :" "command:`bdist_rpm` genera tanto binario como fuentes *RPMs*. Los " "subcomandos :command:`bdist`, y los formatos generados por cada uno, son:" @@ -370,7 +371,7 @@ msgstr ":command:`bdist_rpm`" #: ../Doc/distutils/builtdist.rst:142 msgid "rpm, srpm" -msgstr "*rpm*,* srpm*" +msgstr "*rpm*, *srpm*" #: ../Doc/distutils/builtdist.rst:144 msgid ":command:`bdist_wininst`" @@ -395,9 +396,8 @@ msgstr "*bdist_wininst* se encuentra obsoleto desde Python 3.8." #: ../Doc/distutils/builtdist.rst:153 ../Doc/distutils/builtdist.rst:311 #: ../Doc/distutils/builtdist.rst:479 -#, fuzzy msgid "bdist_msi is deprecated since Python 3.9." -msgstr "*bdist_wininst* se encuentra obsoleto desde Python 3.8." +msgstr "bdist_msi está deprecado desde Python 3.9." #: ../Doc/distutils/builtdist.rst:155 msgid "" diff --git a/distutils/configfile.po b/distutils/configfile.po index 27715621eb..6388f7043c 100644 --- a/distutils/configfile.po +++ b/distutils/configfile.po @@ -11,20 +11,20 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-05-13 09:49-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10:55+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/distutils/configfile.rst:5 -#, fuzzy msgid "Writing the Setup Configuration File" -msgstr "Escribir la configuración del archivo de configuración" +msgstr "Escribiendo el archivo de configuración de instalación (*setup*)" #: ../Doc/distutils/configfile.rst:9 msgid "" @@ -49,9 +49,7 @@ msgstr "" "de comando, que el instalador puede invalidar en la línea de comando o " "editando el archivo de configuración." -# se repite mucho "configuración" #: ../Doc/distutils/configfile.rst:18 -#, fuzzy msgid "" "The setup configuration file is a useful middle-ground between the setup " "script---which, ideally, would be opaque to installers [#]_---and the " @@ -61,8 +59,8 @@ msgid "" "after the contents of the setup script, but before the command-line. This " "has several useful consequences:" msgstr "" -"La configuración del archivo de configuración es un punto medio útil entre " -"el script de configuración--- que, idealmente, sería opaco para los " +"La configuración del archivo de instalación (*setup*) es un punto medio útil " +"entre el script de configuración--- que, idealmente, sería opaco para los " "instaladores [#]_---y la línea de comandos para el script de configuración, " "que está fuera de su control y depende totalmente del instalador. De hecho, :" "file:`setup.cfg` (y cualquiera otros archivos de configuración de " diff --git a/distutils/extending.po b/distutils/extending.po index 0bb9a4d691..321fa530da 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -130,7 +130,7 @@ msgstr "" "utilizados. Una nueva opción de configuración, ``command_packages`` (opción " "de la línea de comandos :option:`!--command-packages`), puede ser aplicada " "para especificar paquetes adicionales a ser buscados para módulos que " -"implementen comandos. Como todas las opciones de distutuils, esto puede " +"implementen comandos. Como todas las opciones de distutils, esto puede " "especificarse en la línea de comandos o en un archivo de configuración. Esta " "opción sólo se puede configurar en la sección ``[global]`` de un archivo de " "configuración, o antes de cualquier comando en la línea de comandos. Si se " diff --git a/distutils/introduction.po b/distutils/introduction.po index 9a50890b08..5f57c665e4 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-05-13 22:20-0500\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 10:53+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-esMIME-Version: 1.0\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/distutils/introduction.rst:5 msgid "An Introduction to Distutils" @@ -66,9 +67,7 @@ msgstr "(opcional) escribir un archivo de configuración" msgid "create a source distribution" msgstr "crear una distribución fuente" -# no estoy seguro de "built distribution" #: ../Doc/distutils/introduction.rst:31 -#, fuzzy msgid "(optional) create one or more built (binary) distributions" msgstr "(opcional) crear una o más distribuciones construidas (binarias)" @@ -280,7 +279,7 @@ msgid "" msgstr "" "(El comando :command:`bdist_rpm` utiliza el ejecutable :command:`rpm`, por " "lo tanto, esto debe ejecutarse en un sistema basado en RPM como Red Hat " -"Linux, SuSE Linux o Mandrake Linux)." +"Linux, SuSE Linux o Mandrake Linux.)" #: ../Doc/distutils/introduction.rst:138 msgid "" @@ -348,13 +347,13 @@ msgid "" "(Note that currently, the Distutils only handles C/C++ extensions for " "Python.)" msgstr "" -"Un módulo escrito en el lenguaje de bajo nivel de la implementación de " +"un módulo escrito en el lenguaje de bajo nivel de la implementación de " "Python: C/C++ para Python, Java para Jython. Típicamente contenido en un " "único archivo precompilado cargable dinámicamente, ejemplo, un archivo de " "objeto compartido (:file: .so`) para extensiones de Python en Unix, una DLL " "(dada la extensión :file:`.pyd`) para extensiones de Python en Windows, o un " "archivo de clase Java para extensiones de Jython. (Tenga en cuenta que " -"actualmente, Distutils solo maneja extensiones C/C++ para Python)." +"actualmente, Distutils solo maneja extensiones C/C++ para Python.)" #: ../Doc/distutils/introduction.rst:175 msgid "package" diff --git a/extending/newtypes.po b/extending/newtypes.po index e738b2584a..af21782b48 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -871,10 +871,10 @@ msgid "" "function you want to implement." msgstr "" "Para aprender a implementar cualquier método específico para su nuevo tipo " -"de datos, obtenga el código fuente :term:`CPython`. Vaya al directorio: " -"file: `Objects`, luego busque en los archivos fuente C ``tp_`` más la " -"función que desee (por ejemplo, ``tp_richcompare``). Encontrará ejemplos de " -"la función que desea implementar." +"de datos, obtenga el código fuente :term:`CPython`. Vaya al directorio: file:" +"`Objects`, luego busque en los archivos fuente C ``tp_`` más la función que " +"desee (por ejemplo, ``tp_richcompare``). Encontrará ejemplos de la función " +"que desea implementar." #: ../Doc/extending/newtypes.rst:607 msgid "" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 79b0eccaa2..0c704b176d 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -620,7 +620,6 @@ msgstr "" "``primer`` miembro de esta manera:" #: ../Doc/extending/newtypes_tutorial.rst:415 -#, fuzzy msgid "" "But this would be risky. Our type doesn't restrict the type of the " "``first`` member, so it could be any kind of object. It could have a " @@ -631,9 +630,9 @@ msgid "" msgstr "" "Pero esto sería arriesgado. Nuestro tipo no restringe el tipo del ``primer`` " "miembro, por lo que podría ser cualquier tipo de objeto. Podría tener un " -"destructor que haga que se ejecute código que intente acceder al miembro " -"``primer``; o ese destructor podría liberar el :term:`Global Interpreter " -"Lock` y permite que se ejecute código arbitrario en otros hilos que acceden " +"destructor que haga que se ejecute código que intente acceder al ``primer`` " +"miembro; o ese destructor podría liberar el :term:`Global Interpreter Lock " +"` y permite que se ejecute código arbitrario en otros hilos que acceden " "y modifican nuestro objeto." #: ../Doc/extending/newtypes_tutorial.rst:422 diff --git a/faq/design.po b/faq/design.po index cd65995d68..0057a39adc 100644 --- a/faq/design.po +++ b/faq/design.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-28 19:40+0200\n" +"PO-Revision-Date: 2021-08-02 11:17+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/design.rst:3 msgid "Design and History FAQ" @@ -55,7 +56,6 @@ msgstr "" "los programadores de C encontrarán un fragmento de código como este::" #: ../Doc/faq/design.rst:26 -#, fuzzy msgid "" "Only the ``x++`` statement is executed if the condition is true, but the " "indentation leads many to believe otherwise. Even experienced C programmers " @@ -75,6 +75,11 @@ msgid "" "is normal to feel somewhat uneasy when reading (or being required to write) " "in a different one." msgstr "" +"Debido a que no hay corchetes de inicio/fin, Python es mucho menos propenso " +"a conflictos de estilo de codificación. En C hay muchas formas diferentes de " +"colocar llaves. Después de acostumbrarse a leer y escribir código usando un " +"estilo en particular, es normal sentirse algo incómodo al leer (o tener que " +"escribir) en uno diferente." #: ../Doc/faq/design.rst:38 msgid "" @@ -1101,15 +1106,13 @@ msgstr "" "class:`~collections.abc.MutableMapping`." #: ../Doc/faq/design.rst:575 -#, fuzzy msgid "" "For Python, many of the advantages of interface specifications can be " "obtained by an appropriate test discipline for components." msgstr "" "Para Python, muchas de las ventajas de las especificaciones de interfaz se " "pueden obtener mediante una disciplina de prueba adecuada para los " -"componentes. También hay una herramienta, PyChecker, que se puede usar para " -"encontrar problemas debido a la subclasificación." +"componentes." #: ../Doc/faq/design.rst:578 msgid "" @@ -1152,7 +1155,6 @@ msgstr "" "trivial verificar esta propiedad en un conjunto de pruebas." #: ../Doc/faq/design.rst:594 -#, fuzzy msgid "" "Writing test suites is very helpful, and you might want to design your code " "to make it easily tested. One increasingly popular technique, test-driven " @@ -1179,9 +1181,14 @@ msgid "" "expressions) and loop (with ``while`` and ``for`` statements, possibly " "containing ``continue`` and ``break``)." msgstr "" +"En la década de 1970, la gente se dio cuenta de que el goto irrestricto " +"podía generar un código \"espagueti\" desordenado que era difícil de " +"entender y revisar. En un lenguaje de alto nivel, también es innecesario " +"siempre que haya formas de bifurcar (en Python, con declaraciones ``if`` y " +"expresiones ``or``, ``and`` e ``if-else``) y repetir (con declaraciones " +"``while`` y ``for``, que posiblemente contengan ``continue`` y ``break``)." #: ../Doc/faq/design.rst:611 -#, fuzzy msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -1258,7 +1265,6 @@ msgstr "" "atributos?" #: ../Doc/faq/design.rst:660 -#, fuzzy msgid "" "Python has a 'with' statement that wraps the execution of a block, calling " "code on the entrance and exit from the block. Some languages have a " diff --git a/faq/extending.po b/faq/extending.po index b3d55c3ccb..3f55b84916 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-10 07:54-0300\n" +"PO-Revision-Date: 2021-08-02 11:16+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" -"X-Generator: Poedit 2.4\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/extending.rst:3 msgid "Extending/Embedding FAQ" @@ -136,15 +136,14 @@ msgid "How can I evaluate an arbitrary Python expression from C?" msgstr "¿Cómo puedo evaluar una expresión arbitraria de Python desde C?" #: ../Doc/faq/extending.rst:74 -#, fuzzy msgid "" "Call the function :c:func:`PyRun_String` from the previous question with the " "start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it " "and returns its value." msgstr "" "Llama a la función :c:func:`PyRun_String` de la pregunta anterior con el " -"símbolo de comienzo (*start*) :c:data:`Py_eval_input`; analiza una " -"expresión, evalúa y retorna su valor." +"símbolo de comienzo :c:data:`Py_eval_input`; analiza una expresión, evalúa y " +"retorna su valor." #: ../Doc/faq/extending.rst:80 msgid "How do I extract C values from a Python object?" @@ -233,7 +232,7 @@ msgid "" msgstr "" "Esto funciona para cualquier objeto que tenga métodos -- sean estos " "incorporados o definidos por el usuario. Eres responsable si eventualmente " -"usas :c:func:`Py_DECREF` en el valor de retorno.\"" +"usas :c:func:`Py_DECREF` en el valor de retorno." #: ../Doc/faq/extending.rst:124 msgid "" @@ -278,7 +277,7 @@ msgstr "" #: ../Doc/faq/extending.rst:149 msgid "The easiest way to do this is to use the :class:`io.StringIO` class:" msgstr "" -"La manera mas fácil de hacer esto es usar la clase :class:`io.StringIO`." +"La manera mas fácil de hacer esto es usar la clase :class:`io.StringIO`:" #: ../Doc/faq/extending.rst:161 msgid "A custom object to do the same would look like this:" @@ -365,10 +364,9 @@ msgstr "" #: ../Doc/faq/extending.rst:224 msgid "How do I debug an extension?" -msgstr "¿Cómo puedo depurar una extención?" +msgstr "¿Cómo puedo depurar una extensión?" #: ../Doc/faq/extending.rst:226 -#, fuzzy msgid "" "When using GDB with dynamically loaded extensions, you can't set a " "breakpoint in your extension until your extension is loaded." @@ -414,9 +412,8 @@ msgid "For Debian, run ``apt-get install python-dev``." msgstr "Para Debian, corre ``apt-get install python-dev``." #: ../Doc/faq/extending.rst:259 -#, fuzzy msgid "How do I tell \"incomplete input\" from \"invalid input\"?" -msgstr "¿Cómo digo \"incomplete input\" desde \"invalid input\"?" +msgstr "¿Cómo digo \"entrada incompleta\" desde \"entrada inválida\"?" #: ../Doc/faq/extending.rst:261 msgid "" @@ -433,7 +430,6 @@ msgstr "" "inmediatamente cuando la entrada es invalida." #: ../Doc/faq/extending.rst:267 -#, fuzzy msgid "" "In Python you can use the :mod:`codeop` module, which approximates the " "parser's behavior sufficiently. IDLE uses this, for example." @@ -471,7 +467,7 @@ msgstr "" "La primera solución es llamar a :c:func:`PyParser_ParseString` y probar con " "``e.error`` igual a ``E_EOF``, que significa que la entrada esta incompleta. " "Aquí hay un fragmento de código ejemplo, que no esta probado, inspirado en " -"el código de Alex Farber:" +"el código de Alex Farber::" #: ../Doc/faq/extending.rst:310 msgid "" @@ -495,9 +491,8 @@ msgstr "" "llamas a readline())::" #: ../Doc/faq/extending.rst:432 -#, fuzzy msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" -msgstr "¿Cómo encuentro símbolos g++ __builtin_new or __pure_virtual?" +msgstr "¿Cómo encuentro símbolos g++ __builtin_new o __pure_virtual?" #: ../Doc/faq/extending.rst:434 msgid "" diff --git a/faq/general.po b/faq/general.po index 9cd2d58fd2..c92b78c4bc 100644 --- a/faq/general.po +++ b/faq/general.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-17 22:04-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11:14+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/general.rst:5 msgid "General Python FAQ" @@ -38,7 +39,6 @@ msgid "What is Python?" msgstr "¿Qué es Python?" #: ../Doc/faq/general.rst:18 -#, fuzzy msgid "" "Python is an interpreted, interactive, object-oriented programming " "language. It incorporates modules, exceptions, dynamic typing, very high " @@ -58,7 +58,7 @@ msgstr "" "a varios sistemas de ventana, y es extensible en C o C++. También es usable " "como un lenguaje de extensión para aplicaciones que necesitan una interfaz " "programable. Por último, Python es portable: corre en muchas variantes de " -"Unix, en Mac y en Windows 2000 y posteriores. " +"Unix, en Mac y en Windows 2000 y posteriores." #: ../Doc/faq/general.rst:28 msgid "" @@ -66,9 +66,9 @@ msgid "" "to Python `_ links to other " "introductory tutorials and resources for learning Python." msgstr "" -"Para saber más, comienza con :ref:`tutorial-index`. La `Beginner's Guide " -"to Python `_ vincula a otros " -"recursos y tutoriales introductorios para aprender Python. " +"Para saber más, comienza con :ref:`tutorial-index`. La `Beginner's Guide to " +"Python `_ vincula a otros " +"recursos y tutoriales introductorios para aprender Python." #: ../Doc/faq/general.rst:34 msgid "What is the Python Software Foundation?" @@ -113,12 +113,12 @@ msgid "" "of course." msgstr "" "Puedes hacer cualquier cosa que quieras con el código fuente mientras " -"mantengas y muestres los mensajes de *copyrights* en cualquier documentación " -"sobre Python que produzcas. Si respetas las reglas de *copyright*, está " -"permitido usar Python para fines comerciales, vender copias de Python en " -"forma de código fuente o binarios (modificados o no), o vender productos que " -"incorporen Python de alguna manera. De cualquier manera nos gustaría saber " -"de todos los usos comerciales de Python, por supuesto. " +"mantengas y muestres los mensajes de derechos de autor en cualquier " +"documentación sobre Python que produzcas. Si respetas las reglas de derechos " +"de autor, está permitido usar Python para fines comerciales, vender copias " +"de Python en forma de código fuente o binarios (modificados o no), o vender " +"productos que incorporen Python de alguna manera. De cualquier manera nos " +"gustaría saber de todos los usos comerciales de Python, por supuesto." #: ../Doc/faq/general.rst:57 msgid "" @@ -127,7 +127,7 @@ msgid "" msgstr "" "Mira la página `PSF license `_ para " "encontrar explicaciones más detalladas y un vínculo al texto completo de la " -"licencia. " +"licencia." #: ../Doc/faq/general.rst:60 msgid "" @@ -164,7 +164,7 @@ msgstr "" "lenguajes. Este es el origen de muchas características de Python, incluyendo " "el uso de sangría para el agrupamiento de sentencias y la inclusión de tipos " "de datos de muy alto nivel (aunque los detalles son todos diferentes en " -"Python). " +"Python)." #: ../Doc/faq/general.rst:78 msgid "" @@ -261,16 +261,16 @@ msgid "" "`_ to find packages of interest to you." msgstr "" "El lenguaje viene con una vasta biblioteca estándar que cubre áreas como el " -"procesamiento de texto (expresiones regulares, unicode, cálculo de " +"procesamiento de texto (expresiones regulares, Unicode, cálculo de " "diferencias entre archivos), protocolos de Internet (HTTP, FTP, SMTP, XML-" "RPC, POP, IMAP, programación CGI), ingeniería de software (pruebas " -"unitarias, *logging*, perfilamiento, análisis sintáctico y gramatical de " +"unitarias, logging, perfilamiento, análisis sintáctico y gramatical de " "código Python) e interfaces con el sistema operativo (llamadas a sistema, " -"sistemas de archivo, *sockets* TCP/IP). Mira la tabla de contenidos en :ref:" +"sistemas de archivo, sockets TCP/IP). Mira la tabla de contenidos en :ref:" "`library-index` para tener una idea de qué está disponible. Una amplia " "variedad de extensiones de terceros también están disponibles. Consulta el " -"`Python Package Index `_ para encontrar paquetes de tu " -"interés. " +"`Python Package Index `_ para encontrar paquetes de tu " +"interés." #: ../Doc/faq/general.rst:126 msgid "How does the Python version numbering scheme work?" @@ -289,7 +289,7 @@ msgstr "" "en el lenguaje. B es el número de versión secundario (o menor), incrementado " "ante cambios menos traumáticos. C es el nivel micro -- se incrementa en cada " "lanzamiento de corrección de errores. Mira el :pep:`6` para más información " -"sobre los lanzamientos de corrección de errores. " +"sobre los lanzamientos de corrección de errores." #: ../Doc/faq/general.rst:134 msgid "" @@ -309,10 +309,9 @@ msgstr "" "dos lanzamientos *alpha*. Las *betas* son más estables, preservando las " "interfaces existentes pero posiblemente agregando nuevos módulos. Los " "*release candidates* están congelados, sin hacer cambios excepto los " -"necesarios para corregir bugs críticos. " +"necesarios para corregir bugs críticos." #: ../Doc/faq/general.rst:142 -#, fuzzy msgid "" "Alpha, beta and release candidate versions have an additional suffix. The " "suffix for an alpha version is \"aN\" for some small number N, the suffix " @@ -321,13 +320,13 @@ msgid "" "words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which " "precede versions labeled 2.0rcN, and *those* precede 2.0." msgstr "" -"Las versiones *alpha*, *beta* y *release candidates* tienen un sufijo " -"adicional. El sufijo para la versión alpha es \"aN\" para algunos números N " -"pequeños; el sufijo para beta es \"bN\" para algunos números N pequeños, y " -"el sufijo para *release candidates* es \"cN\" para algunos números N " -"pequeños. En otras palabras, todas las versiones etiquetadas 2.0aN preceden " -"a las 2.0bN, que preceden a las etiquetadas 2.0cN, y *todas esas* preceden a " -"la 2.0. " +"Las versiones alpha, beta y candidata de lanzamiento (*release candidate*) " +"tienen un sufijo adicional. El sufijo para la versión alpha es \"aN\" para " +"algunos números N pequeños; el sufijo para beta es \"bN\" para algunos " +"números N pequeños, y el sufijo para *release candidates* es \"cN\" para " +"algunos números N pequeños. En otras palabras, todas las versiones " +"etiquetadas 2.0aN preceden a las 2.0bN, que preceden a las etiquetadas " +"2.0cN, y *todas esas* preceden a la 2.0." #: ../Doc/faq/general.rst:149 msgid "" @@ -341,7 +340,7 @@ msgstr "" "\"2.2+\". Estas son versiones sin lanzar, construidas directamente desde el " "repositorio de desarrollo de CPython. En la práctica, luego de que un " "lanzamiento menor se realiza, la versión es incrementada a la siguiente " -"versión menor, que se vuelve \"a0\", por ejemplo \"2.4a0\". " +"versión menor, que se vuelve \"a0\", por ejemplo \"2.4a0\"." #: ../Doc/faq/general.rst:154 msgid "" @@ -376,8 +375,8 @@ msgstr "" "La distribución de fuentes es un archivo tar comprimido con gzip que " "contiene el código C completo, documentación en formato Sphinx, los módulos " "de la biblioteca de Python, programas de ejemplo y varias piezas útiles de " -"software libremente distribuibles. El código fuente compilará y se " -"ejecutará sin problemas en la mayoría de las plataformas Unix. " +"software libremente distribuibles. El código fuente compilará y se ejecutará " +"sin problemas en la mayoría de las plataformas Unix." #: ../Doc/faq/general.rst:170 msgid "" @@ -385,9 +384,9 @@ msgid "" "`__ for more information on getting the " "source code and compiling it." msgstr "" -"Consulta `Getting Started section of the Python Developer's Guide `__ para más información sobre cómo obtener el " -"código fuente y compilarlo. " +"código fuente y compilarlo." #: ../Doc/faq/general.rst:176 msgid "How do I get documentation on Python?" @@ -410,10 +409,10 @@ msgid "" "Sphinx documentation tool `__. The reStructuredText " "source for the documentation is part of the Python source distribution." msgstr "" -"La documentación está escrita en reStructuredText y procesada con `la " +"La documentación está escrita en reStructuredText y procesada con `la " "herramienta de documentación Sphinx `__. Las fuentes " "reStructuredText de la documentación son parte de la distribución fuente de " -"Python. " +"Python." #: ../Doc/faq/general.rst:190 msgid "I've never programmed before. Is there a Python tutorial?" @@ -434,8 +433,8 @@ msgid "" "including lists of tutorials." msgstr "" "Consulta `the Beginner's Guide `_ para encontrar información para principiantes en Python, " -"incluyendo una lista de tutoriales. " +"BeginnersGuide>`_ para encontrar información para principiantes en Python, " +"incluyendo una lista de tutoriales." #: ../Doc/faq/general.rst:200 msgid "Is there a newsgroup or mailing list devoted to Python?" @@ -451,12 +450,12 @@ msgid "" "Usenet readers are often more able to cope with this volume." msgstr "" "Hay un grupo de noticias, :newsgroup:`comp.lang.python`, y una lista de " -"correo, `python-list `_. Tanto el grupo de noticias como la lista de correo están " +"correo, `python-list `_. Tanto el grupo de noticias como la lista de correo están " "interconectadas entre sí -- si puedes leer las noticias no es necesario que " "te suscribas a la lista de correo. :newsgroup:`comp.lang.python` tiene mucho " "tráfico, recibiendo cientos de publicaciones cada día. y los lectores de " -"Usenet suelen ser más capaces de hacer frente a este volumen. " +"Usenet suelen ser más capaces de hacer frente a este volumen." #: ../Doc/faq/general.rst:209 msgid "" @@ -502,8 +501,8 @@ msgid "" "Python Developer's Guide `_ for details." msgstr "" "También puedes acceder a la versión en desarrollo de Python desde Git. Mira " -"`The Python Developer's Guide `_ para los " -"detalles. " +"`The Python Developer's Guide `_ para los " +"detalles." #: ../Doc/faq/general.rst:231 msgid "How do I submit bug reports and patches for Python?" @@ -543,7 +542,7 @@ msgstr "" #: ../Doc/faq/general.rst:247 msgid "Are there any published articles about Python that I can reference?" -msgstr "¿Hay algún artículo publicado sobre Python que pueda referir? " +msgstr "¿Hay algún artículo publicado sobre Python que pueda referir?" #: ../Doc/faq/general.rst:249 msgid "It's probably best to cite your favorite book about Python." @@ -556,7 +555,7 @@ msgid "" "outdated." msgstr "" "El primer artículo publicado sobre Python fue escrito en 1991 y quedó " -"bastante desactualizado. " +"bastante desactualizado." #: ../Doc/faq/general.rst:254 msgid "" @@ -578,15 +577,15 @@ msgid "" "at https://wiki.python.org/moin/PythonBooks for a list." msgstr "" "Sí, hay muchos, y hay más siendo publicados. Mira la wiki de python.org en " -"https://wiki.python.org/moin/PythonBooks para ver una lista. " +"https://wiki.python.org/moin/PythonBooks para ver una lista." #: ../Doc/faq/general.rst:265 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." msgstr "" -"También puedes buscar \"Python\" en las librerías online y excluir las que " -"refieran a los Monty Python; o quizás buscar \"Python\" y \"lenguaje\". " +"También puedes buscar \"Python\" en las librerías en línea y excluir las que " +"refieran a los Monty Python; o quizás buscar \"Python\" y \"lenguaje\"." #: ../Doc/faq/general.rst:270 msgid "Where in the world is www.python.org located?" @@ -618,7 +617,7 @@ msgstr "" "los guiones publicados de `\"Monty Python's Flying Circus\" `__, una serie de comedia producida por la " "BBC de los 70'. Van Rossum pensó que necesitaba un nombre que fuera corto, " -"único y ligeramente misterioso, entonces decidió llamar al lenguaje Python. " +"único y ligeramente misterioso, entonces decidió llamar al lenguaje Python." #: ../Doc/faq/general.rst:287 msgid "Do I have to like \"Monty Python's Flying Circus\"?" @@ -637,7 +636,6 @@ msgid "How stable is Python?" msgstr "¿Cuán estable es Python?" #: ../Doc/faq/general.rst:298 -#, fuzzy msgid "" "Very stable. New, stable releases have been coming out roughly every 6 to " "18 months since 1991, and this seems likely to continue. As of version 3.9, " @@ -645,7 +643,7 @@ msgid "" msgstr "" "Muy estable. Versiones nuevas y estables han sido publicadas cada entre 6 y " "18 meses desde 1991, y es muy probable que así continúe. Actualmente pasan " -"alrededor de 18 meses entre los lanzamientos importantes. " +"alrededor de 18 meses entre los lanzamientos importantes." #: ../Doc/faq/general.rst:302 msgid "" @@ -662,10 +660,9 @@ msgstr "" "indicados por el tercer componente del número de versión (e.g 3.5.3, 3.6.2) " "son gestionados para estabilidad; sólo correcciones de problemas conocidos " "se incluyen en uno de estos lanzamientos, y está garantizado que las " -"interfaces se mantendrán a lo largo de la misma serie. " +"interfaces se mantendrán a lo largo de la misma serie." #: ../Doc/faq/general.rst:309 -#, fuzzy msgid "" "The latest stable releases can always be found on the `Python download page " "`_. There are two production-ready " @@ -685,13 +682,12 @@ msgid "How many people are using Python?" msgstr "¿Cuánta gente usa Python?" #: ../Doc/faq/general.rst:318 -#, fuzzy msgid "" "There are probably millions of users, though it's difficult to obtain an " "exact count." msgstr "" "Probablemente hay decenas de miles de usuarios y usuarias, aunque es difícil " -"obtener una cuenta exacta. " +"obtener una cuenta exacta." #: ../Doc/faq/general.rst:321 msgid "" @@ -702,7 +698,7 @@ msgstr "" "Python está disponible gratuitamente para ser descargado por lo que no " "existen cifras de ventas, a su vez se incluye en muchos sitios diferentes y " "está empaquetado en muchas distribuciones de Linux, por lo que las " -"estadísticas de descarga tampoco cuentan toda la historia. " +"estadísticas de descarga tampoco cuentan toda la historia." #: ../Doc/faq/general.rst:325 msgid "" @@ -710,7 +706,7 @@ msgid "" "to the group or even read it." msgstr "" "El grupo de noticias comp.lang.python es muy activo, pero no todos los " -"usuarios de Python publican allí o incluso lo leen. " +"usuarios de Python publican allí o incluso lo leen." #: ../Doc/faq/general.rst:330 msgid "Have any significant projects been done in Python?" @@ -725,8 +721,8 @@ msgid "" msgstr "" "Mira https://www.python.org/about/success para una lista de proyecto que " "usan Python. Consultar las actas de `conferencias de Python pasadas `_ revelará contribuciones de " -"diferentes empresas y organizaciones. " +"www.python.org/community/workshops/>`_ revelará contribuciones de diferentes " +"empresas y organizaciones." #: ../Doc/faq/general.rst:337 msgid "" @@ -746,7 +742,7 @@ msgstr "" #: ../Doc/faq/general.rst:346 msgid "What new developments are expected for Python in the future?" -msgstr "¿Qué nuevos desarrollos se esperan para Python en el futuro? " +msgstr "¿Qué nuevos desarrollos se esperan para Python en el futuro?" #: ../Doc/faq/general.rst:348 msgid "" @@ -761,7 +757,7 @@ msgstr "" "documentos de diseño que describen una nueva funcionalidad sugerida para " "Python, proveyendo una especificación técnica concisa y una razón " "fundamental. Busca una PEP titulada \"Python X.Y Release Schedule\", donde X." -"Y es una versión que aún no ha sido publicada. " +"Y es una versión que aún no ha sido publicada." #: ../Doc/faq/general.rst:354 msgid "" @@ -789,7 +785,7 @@ msgstr "" "fracción muy pequeña de los programas existentes tiene que ser mal visto. " "Incluso si puedes proporcionar un programa de conversión, todavía existe el " "problema de actualizar toda la documentación; se han escrito muchos libros " -"sobre Python y no queremos invalidarlos a todos de un plumazo. " +"sobre Python y no queremos invalidarlos a todos de un plumazo." #: ../Doc/faq/general.rst:368 msgid "" @@ -800,7 +796,7 @@ msgstr "" "Si una funcionalidad se debe cambiar, es necesario proporcionar una ruta de " "actualización gradual. :pep:`5` describe el procedimiento seguido para " "introducir cambios incompatibles con versiones anteriores para minimizar " -"disrupciones a los usuarios y usuarias. " +"disrupciones a los usuarios y usuarias." #: ../Doc/faq/general.rst:374 msgid "Is Python a good language for beginning programmers?" @@ -808,7 +804,7 @@ msgstr "¿Python es un buen lenguaje para principiantes?" #: ../Doc/faq/general.rst:376 msgid "Yes." -msgstr "Sí. " +msgstr "Sí." #: ../Doc/faq/general.rst:378 msgid "" @@ -831,7 +827,7 @@ msgstr "" "las habilidades de programación como la descomposición de problemas y el " "diseño de tipos de datos. Con Python los estudiantes pueden ser rápidamente " "introducidos a conceptos como bucles y procedimientos. Incluso puede " -"trabajar con objetos definidos por el usuario en su primer curso. " +"trabajar con objetos definidos por el usuario en su primer curso." #: ../Doc/faq/general.rst:388 msgid "" @@ -850,7 +846,7 @@ msgstr "" "intentan pensar como la computadora, descomponer problemas, diseñar " "interfaces consistentes y encapsular datos. Si bien aprender a usar un " "lenguaje de tipado estático es importante en el largo plazo, no es " -"necesariamente el mejor tema a tratar en un primer curso de programación. " +"necesariamente el mejor tema a tratar en un primer curso de programación." #: ../Doc/faq/general.rst:396 msgid "" @@ -873,7 +869,7 @@ msgstr "" "satisfacción de trabajar en aplicaciones realistas mientras aprenden los " "fundamentos de la programación. Usar la biblioteca estándar también enseña a " "reusar código. Módulos de terceros, como PyGame, también ayudan a extender " -"los alcances de los y las estudiantes. " +"los alcances de los y las estudiantes." #: ../Doc/faq/general.rst:405 msgid "" @@ -893,7 +889,7 @@ msgid "" "are programming." msgstr "" "Con el intérprete, la documentación nunca está lejos de los o las " -"estudiantes mientras están programando. " +"estudiantes mientras están programando." #: ../Doc/faq/general.rst:437 msgid "" diff --git a/faq/gui.po b/faq/gui.po index 8f458b4d07..875186053d 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-09 18:01-0500\n" +"PO-Revision-Date: 2021-08-02 11:10+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Javier Daza Language: es\n" -"X-Generator: Poedit 2.3\n" +"Last-Translator: Cristián Maureira-Fredes \n" +"X-Generator: Poedit 3.0\n" +"Language: es\n" #: ../Doc/faq/gui.rst:5 msgid "Graphic User Interface FAQ" diff --git a/faq/library.po b/faq/library.po index 481c2710f4..3c880f3b94 100644 --- a/faq/library.po +++ b/faq/library.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-10 21:32+0100\n" -"Last-Translator: Sergio Delgado Quintero \n" +"PO-Revision-Date: 2021-08-02 11:09+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/library.rst:5 msgid "Library and Extension FAQ" @@ -244,7 +245,6 @@ msgstr "" "lista incorrecta de argumentos. Se llama como ::" #: ../Doc/faq/library.rst:128 -#, fuzzy msgid "so it should be declared with two parameters::" msgstr "así que debería declararse con dos argumentos::" @@ -304,7 +304,6 @@ msgid "at the bottom of the main module of your program." msgstr "al final del módulo principal de su programa." #: ../Doc/faq/library.rst:162 -#, fuzzy msgid "" "Once your program is organized as a tractable collection of function and " "class behaviours, you should write test functions that exercise the " @@ -454,13 +453,12 @@ msgid "How do I parcel out work among a bunch of worker threads?" msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?" #: ../Doc/faq/library.rst:298 -#, fuzzy msgid "" "The easiest way is to use the :mod:`concurrent.futures` module, especially " "the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" "La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, " -"especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`." +"especialmente el módulo :mod:`~concurrent.futures.ThreadPoolExecutor`." #: ../Doc/faq/library.rst:301 msgid "" @@ -731,13 +729,12 @@ msgid "How do I copy a file?" msgstr "¿Cómo copio un fichero?" #: ../Doc/faq/library.rst:492 -#, fuzzy msgid "" "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " "that on MacOS 9 it doesn't copy the resource fork and Finder info." msgstr "" "El módulo :mod:`shutil` contiene una función :func:`~shutil.copyfile`. " -"Nótese que en MacOS 9 no copia el *fork* del recurso ni la información de " +"Nótese que en MacOS 9 no copia el fork del recurso ni la información de " "Finder." #: ../Doc/faq/library.rst:497 @@ -934,9 +931,8 @@ msgstr "" "formulario. ¿Existe algún código que me permita hacer esto fácilmente?" #: ../Doc/faq/library.rst:682 -#, fuzzy msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" -msgstr "Sí. Aquí hay un ejemplo sencillo que usa urllib.request::" +msgstr "Sí. Aquí hay un ejemplo sencillo que usa :mod:`urllib.request`::" #: ../Doc/faq/library.rst:697 msgid "" @@ -1013,9 +1009,15 @@ msgid "" "in progress, but hasn't finished yet. Different OSes will return different " "values, so you're going to have to check what's returned on your system." msgstr "" +"Para evitar que la conexión TCP se bloquee, puede configurar el socket en " +"modo sin bloqueo. Luego, cuando hagas el :meth:`socket.connect`, te " +"conectarás inmediatamente (poco probable) u obtendrás una excepción que " +"contiene el número de error como ``.errno``. ``errno.EINPROGRESS`` indica " +"que la conexión está en curso, pero aún no ha terminado. Los diferentes " +"sistemas operativos devolverán valores diferentes, por lo que tendrá que " +"verificar lo que se devuelve en su sistema." #: ../Doc/faq/library.rst:774 -#, fuzzy msgid "" "You can use the :meth:`socket.connect_ex` method to avoid creating an " "exception. It will just return the errno value. To poll, you can call :" @@ -1023,11 +1025,11 @@ msgid "" "that you're connected -- or you can pass this socket to :meth:`select." "select` to check if it's writable." msgstr "" -"Puede usar el método ``connect_ex()`` para evitar crear una excepción. " -"Retornará simplemente el número de error. Para sondear, puede llamar más " -"tarde a ``connect_ex()`` de nuevo -- ``0`` o ``errno.EISCONN`` indican que " -"está conectado -- o puede pasar este socket a *select* para comprobar si se " -"puede escribir en él." +"Puede utilizar el método :meth:`socket.connect_ex` para evitar crear una " +"excepción. Simplemente retornará el valor de errno. Para sondear, puede " +"llamar a :meth:`socket.connect_ex` nuevamente más tarde -- ``0`` o ``errno." +"EISCONN`` indican que está conectado -- o puede pasar este socket a :meth:" +"`select.select` para comprobar si se puede escribir." #: ../Doc/faq/library.rst:780 msgid "" @@ -1036,6 +1038,11 @@ msgid "" "network code. The third-party `Twisted `_ " "library is a popular and feature-rich alternative." msgstr "" +"El módulo :mod:`asyncio` proporciona una biblioteca asíncrona concurrente y " +"de un solo subproceso de propósito general, que se puede utilizar para " +"escribir código de red sin bloqueo. La biblioteca de terceros `Twisted " +"`_ es una alternativa popular y rica en " +"funciones." #: ../Doc/faq/library.rst:788 msgid "Databases" @@ -1136,16 +1143,14 @@ msgstr "" "como:" #: ../Doc/faq/library.rst:836 -#, fuzzy msgid "``choice(S)`` chooses a random element from a given sequence." -msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada" +msgstr "``choice(S)`` selecciona un elemento aleatorio de una secuencia dada." #: ../Doc/faq/library.rst:837 -#, fuzzy msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" "``shuffle(L)`` reorganiza una lista in-situ, es decir, la permuta " -"aleatoriamente" +"aleatoriamente." #: ../Doc/faq/library.rst:839 msgid "" diff --git a/faq/programming.po b/faq/programming.po index a1f8002932..8174120794 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 11:04+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11:05+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/programming.rst:5 msgid "Programming FAQ" @@ -76,7 +77,6 @@ msgstr "" "idle), incluye un depurador gráfico." #: ../Doc/faq/programming.rst:31 -#, fuzzy msgid "" "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " "Pythonwin debugger colors breakpoints and has quite a few cool features such " @@ -85,12 +85,12 @@ msgid "" ">`__ project and as a part of the ActivePython distribution (see https://www." "activestate.com/activepython\\ )." msgstr "" -"PythonWin es un IDE Python que incluye un depurador con GUI basado en pdb. " +"PythonWin es un IDE Python que incluye un depurador con GUI basado en pdb. " "El depurador PythonWin colorea los puntos de interrupción y dispone de " -"características geniales como la depuración de programas no modificados " -"mediante PythonWin. PythonWin está disponible como parte del proyecto `Las " -"extensiones de Python para Windows `__ y como parte de la distribución ActivePython (ver https://www." +"características geniales como la depuración de programas no modificados " +"mediante PythonWin. PythonWin está disponible como parte del proyecto `Las " +"extensiones de Python para Windows `__ y como parte de la distribución ActivePython (ver https://www." "activestate.com/activepython\\ )." #: ../Doc/faq/programming.rst:38 @@ -134,7 +134,6 @@ msgid "PyCharm (https://www.jetbrains.com/pycharm/)" msgstr "PyCharm (https://www.jetbrains.com/pycharm/)" #: ../Doc/faq/programming.rst:55 -#, fuzzy msgid "Are there tools to help find bugs or perform static analysis?" msgstr "" "¿Existe alguna herramienta que ayude a encontrar errores o realizar análisis " @@ -1286,7 +1285,6 @@ msgstr "" "144.0``." #: ../Doc/faq/programming.rst:842 -#, fuzzy msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " "144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " @@ -1298,8 +1296,8 @@ msgstr "" "Por defecto, estas interpretan el número como decimal de tal forma que " "``int('0144') == 144`` y ``int('0x144')`` lanzará :exc:`ValueError`. " "``int(string, base)`` toma la base para convertirlo desde un segundo " -"parámetro opcional, por tanto ``int('0x144', 16) == 324``. Si la base se " -"especifica como 0, el número se interpreta usando las reglas de Python's " +"parámetro opcional, por tanto ``int('0x144', 16) == 324``. Si la base se " +"especifica como 0, el número se interpreta usando las reglas de Python's " "rules: un prefijo '0o' indica octal y un prefijo '0x' indica un número " "hexadecimal." @@ -1405,10 +1403,8 @@ msgid "This is used in several places in the standard library, like this::" msgstr "Esto se usa en varios lugares de la biblioteca estándar, como esto::" #: ../Doc/faq/programming.rst:945 -#, fuzzy msgid "Use :func:`locals` to resolve the function name::" -msgstr "" -"Usa :func:`locals` o :func:`eval` para resolver el nombre de la función::" +msgstr "Use :func:`locals` para resolver el nombre de la función::" #: ../Doc/faq/programming.rst:957 msgid "" @@ -1747,11 +1743,8 @@ msgid "How do I iterate over a sequence in reverse order?" msgstr "¿Cómo puedo iterar sobre una secuencia en orden inverso?" #: ../Doc/faq/programming.rst:1119 -#, fuzzy msgid "Use the :func:`reversed` built-in function::" -msgstr "" -"Usa la función incorporada :func:`reversed`, la cual se introdujo en la " -"versión de 2.4 de Python::" +msgstr "Usa la función incorporada :func:`reversed`::" #: ../Doc/faq/programming.rst:1124 msgid "" @@ -1800,9 +1793,8 @@ msgstr "" "y, posteriormente, puedes volver a una lista." #: ../Doc/faq/programming.rst:1157 -#, fuzzy msgid "How do you remove multiple items from a list" -msgstr "¿Cómo eliminar duplicados de una lista?" +msgstr "Cómo eliminar duplicados de una lista" #: ../Doc/faq/programming.rst:1159 msgid "" @@ -1813,9 +1805,8 @@ msgid "" msgstr "" #: ../Doc/faq/programming.rst:1168 -#, fuzzy msgid "The list comprehension may be fastest." -msgstr "Usa una comprensión de listas::" +msgstr "Esta comprensión de lista puede ser la más rápida." #: ../Doc/faq/programming.rst:1172 msgid "How do you make an array in Python?" diff --git a/faq/windows.po b/faq/windows.po index 0142b62893..048c7cd376 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-22 10:31-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 11:03+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/faq/windows.rst:9 msgid "Python on Windows FAQ" @@ -230,7 +231,6 @@ msgid "How do I make an executable from a Python script?" msgstr "¿Cómo hacer un ejecutable a partir de un script de Python?" #: ../Doc/faq/windows.rst:143 -#, fuzzy msgid "" "See `cx_Freeze `_ for a " "distutils extension that allows you to create console and GUI executables " @@ -239,10 +239,10 @@ msgid "" "Python 3 but a version that does is in development." msgstr "" "Consulte `cx_Freeze `_ para " -"obtener una extensión *distutils* que le permite crear ejecutables de " -"consola y *GUI* a partir del código Python. `py2exe `_ es la extensión más popular para construir ejecutables basados ​​en Python " -"2.x, pero la implementación en Python 3 está en desarrollo." +"obtener una extensión distutils que le permite crear ejecutables de consola " +"y GUI a partir del código Python. `py2exe `_ es la " +"extensión más popular para construir ejecutables basados ​​en Python 2.x, pero " +"la implementación en Python 3 está en desarrollo." #: ../Doc/faq/windows.rst:151 msgid "Is a ``*.pyd`` file the same as a DLL?" @@ -515,12 +515,11 @@ msgid "How do I check for a keypress without blocking?" msgstr "¿Cómo verifico una pulsación de tecla sin bloquearla?" #: ../Doc/faq/windows.rst:282 -#, fuzzy msgid "" "Use the :mod:`msvcrt` module. This is a standard Windows-specific extension " "module. It defines a function ``kbhit()`` which checks whether a keyboard " "hit is present, and ``getch()`` which gets one character without echoing it." msgstr "" -"Use el módulo *msvcrt*. Es una extensión estándar específica de Windows, que " -"define una función ``kbhit()`` que verifica si se ha presionado una tecla, y " -"``getch()`` que recupera el carácter sin mostrarlo." +"Use el módulo :mod:`msvcrt`. Es una extensión estándar específica de " +"Windows, que define una función ``kbhit()`` que verifica si se ha presionado " +"una tecla, y ``getch()`` que recupera el carácter sin mostrarlo." diff --git a/howto/clinic.po b/howto/clinic.po index 09d6fbaeb3..fac3a3bf12 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -2532,8 +2532,8 @@ msgid "" "You can still use a self converter, a return converter, and specify a " "``type`` argument to the object converter for ``METH_O``." msgstr "" -"Aún puede usar un autoconvertidor, un convertidor de retorno y especificar " -"un argumento de ``tipo`` para el convertidor de objetos para ``METH_O``." +"Aún puede usar un autoconversor, un convertidor de retorno y especificar un " +"argumento de ``tipo`` para el convertidor de objetos para ``METH_O``." #: ../Doc/howto/clinic.rst:1337 msgid "tp_new and tp_init functions" diff --git a/howto/functional.po b/howto/functional.po index 033eac2a3a..86e6cbb08c 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -867,7 +867,7 @@ msgid "" msgstr "" "Podría lograr el efecto de los generadores manualmente escribiendo su propia " "clase y guardando todas las variables locales del generador como variables " -"de instance. Por ejemplo, retornar una lista de enteros se podría hacer " +"de instancia. Por ejemplo, retornar una lista de enteros se podría hacer " "estableciendo ``self.count`` a 0, y teniendo el método :meth:`~iterator." "__next__` que incrementa ``self.count`` y lo retorna. Sin embargo, para un " "generador moderadamente complicado, escribir una clase correspondiente puede " @@ -1512,7 +1512,7 @@ msgstr "" ":func:`~itertools.groupby` asume que los contenidos del iterable subyacente " "ya se ordenó basado en la clave. Note que los iteradores retornados también " "usan el iterable subyacente, así que tiene que consumir los resultados de " -"iterator-1 antes de solicitar iterator-2 y su clave correspondiente." +"iterador-1 antes de solicitar iterador-2 y su clave correspondiente." #: ../Doc/howto/functional.rst:989 msgid "The functools module" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index be4997d4ff..dca4ac395c 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -342,7 +342,7 @@ msgid "" "the module name, ``arg1`` indicates if module was successfully loaded." msgstr "" "Se activa después de que la función *find_and_load* de :mod:`importlib` es " -"llamada. ``arg0`` es el nombre del módulo,``arg1`` indica si el módulo se " +"llamada. ``arg0`` es el nombre del módulo, ``arg1`` indica si el módulo se " "cargó correctamente." #: ../Doc/howto/instrumentation.rst:335 diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 9ac36a807d..3f19f2ce20 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-27 01:14-0300\n" +"PO-Revision-Date: 2021-08-03 11:36+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Carlos A. Crespo \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/howto/logging-cookbook.rst:5 msgid "Logging Cookbook" @@ -1266,6 +1266,7 @@ msgstr "" msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "Insertar BOM en mensajes enviados a SysLogHandler" +# se hizo un cambio para que no ocurriera el error de :rfc:`...` que no comienza por número. #: ../Doc/howto/logging-cookbook.rst:1689 msgid "" ":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " @@ -1276,9 +1277,9 @@ msgid "" msgstr "" ":rfc:`5424` requiere que se envíe un mensaje Unicode a un demonio syslog " "como un conjunto de bytes que tienen la siguiente estructura: un componente " -"opcional puro-ASCII, seguido de una Marca de Orden de Bytes UTF-8 (*BOM* por " -"sus siglas en inglés), seguida de codificado en Unicode usando UTF-8. (See " -"the :rfc:`relevant section of the specification <5424#section-6>`.)" +"opcional ASCII puro, seguido de una marca de orden de bytes UTF-8 (BOM), " +"seguida de Codificado en Unicode usando UTF-8. (Ver sección relevante de la " +"especificación :rfc:`5424#section-6`.)" #: ../Doc/howto/logging-cookbook.rst:1695 msgid "" @@ -1500,7 +1501,7 @@ msgid "" "types of file change - e.g. setting specific POSIX permission bits - in the " "same way, using :func:`os.chmod`." msgstr "" -"Por furtuna, este ejemplo también indica el camino hacia cómo podría " +"Por fortuna, este ejemplo también indica el camino hacia cómo podría " "implementar otros tipos de cambio de archivo, por ejemplo, configurando de " "la misma manera bits de permisos POSIX específicos, usando :func:`os.chmod`." diff --git a/howto/logging.po b/howto/logging.po index dea17495f3..86ea7f7da8 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -626,8 +626,8 @@ msgstr "" "`Logger` (de aquí en adelante llamada :dfn:`loggers`). Cada instancia tiene " "un nombre, y se organizan conceptualmente en una jerarquía de espacios de " "nombres utilizando puntos (puntos) como separadores. Por ejemplo, un " -"registrador llamado \"scan\" es el padre de los registradores \"scan.text\", " -"\"scan.html\" y \"scan.pdf\". Los nombres de los registradores pueden ser " +"registrador llamado 'scan' es el padre de los registradores 'scan.text', " +"'scan.html' y 'scan.pdf'. Los nombres de los registradores pueden ser " "cualquier cosa que se desee, e indican el área de una aplicación en la que " "se origina un mensaje registrado." @@ -1791,7 +1791,7 @@ msgstr "" "Para dar formato a varios mensajes en un lote, se pueden utilizar instancias " "de :class:`~handlers.BufferingFormatter`. Además de la cadena de formato " "(que se aplica a cada mensaje del lote), hay una provisión para cadenas de " -"formato de cabecera y de trailer." +"formato de cabecera y de tráiler." #: ../Doc/howto/logging.rst:995 msgid "" diff --git a/howto/sockets.po b/howto/sockets.po index 252f0bb634..15fc20253a 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -519,7 +519,7 @@ msgstr "" "antes de cerrarlo con ``close``. ``shutdown`` es un aviso para el socket en " "el otro lado. Dependiendo del argumento que se le pase, puede significar " "\"No voy a mandar más datos, pero voy a escuchar\" o \"No estoy escuchando, " -"adios!\". La mayoría de bibliotecas para sockets, sin embargo, están tan " +"adiós!\". La mayoría de bibliotecas para sockets, sin embargo, están tan " "acostumbradas a que los programadores ignoren esta parte de la etiqueta que " "normalmente ``close`` es lo mismo que ``shutdown(); close()``. Por tanto en " "la mayoría de las situaciones usar ``shutdown`` de manera explícita no es " @@ -680,7 +680,7 @@ msgid "" "(possibly empty) of the corresponding list you passed in." msgstr "" "En el retorno tendrás tres listas. Estas contienen los sockets que son " -"realmente leíbles, escribibles y con error. Cada una de estas lista es un " +"realmente legibles, escribibles y con error. Cada una de estas lista es un " "subconjunto (posiblemente vacío) de la lista correspondiente que pasaste." #: ../Doc/howto/sockets.rst:359 @@ -692,9 +692,9 @@ msgid "" "nothing. (Actually, any reasonably healthy socket will return as writable - " "it just means outbound network buffer space is available.)" msgstr "" -"Si un socket está en la lista retornada de los leíbles, puedes estar tan-" -"seguro-como-podrías-estarlo-en-este-negocio que una llamada a ``recv`` en " -"este socket va a retornar *algo*. La misma idea se aplica a la lista de " +"Si un socket está en la lista retornada legible, puedes estar tan-seguro-" +"como-podrías-estarlo-en-este-negocio que una llamada a ``recv`` en este " +"socket va a retornar *algo*. La misma idea se aplica a la lista de " "escribibles. Serás capaz de mandar *algo*. Tal vez no todo lo que quieras, " "pero *algo* es mejor que nada. (Realmente, cualquier socket socket " "razonablemente saludable va a retornar como escribible - eso solo significa " @@ -708,8 +708,8 @@ msgid "" "it in the potential_writers list. If it shows up in the writable list, you " "have a decent chance that it has connected." msgstr "" -"Si tienes un socket *servidor*, ponlo en la lista de *potenciales leíbles*. " -"Se retorna en la lista de leíbles, una llamada a ``accept`` va a funcionar " +"Si tienes un socket *servidor*, ponlo en la lista de *potenciales legibles*. " +"Se retorna en la lista de legibles, una llamada a ``accept`` va a funcionar " "(casi seguro). Se has creado un nuevo socket para llamar a ``connect`` para " "conectarte con otro, ponlo en la lista de *potenciales escribibles*. Si " "retorna en la lista de escribibles, tienes una buena oportunidad de que esté " diff --git a/howto/unicode.po b/howto/unicode.po index 3423a6e263..c645f6ffcb 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -155,7 +155,7 @@ msgstr "" "elementos gráficos llamado **glifo**. El glifo para una A mayúscula, por " "ejemplo, es dos trazos diagonales y uno horizontal, aunque los detalles " "exactos van a depender de la fuente utilizada. La mayoría del código de " -"Python no necesita preocuparse por los glifos*; averiguar el glifo correcto " +"Python no necesita preocuparse por los glifos; averiguar el glifo correcto " "para mostrar es generalmente el trabajo de un kit de herramientas GUI o el " "renderizador de fuentes de una terminal." diff --git a/howto/urllib2.po b/howto/urllib2.po index 2aeca2d166..bb72495778 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -377,7 +377,7 @@ msgstr "" "la petición. Los gestores predeterminados se encargarán de algunas de estas " "respuestas automáticamente (por ejemplo, si la respuesta es una \"redirección" "\" que solicita que el cliente obtenga el documento desde una URL diferente, " -"urllib se encargará de eso por tí). Para aquellas respuestas que no puede " +"urllib se encargará de eso por ti). Para aquellas respuestas que no puede " "manejar, urlopen generará un :exc:`HTTPError`. Los errores típicos incluyen " "'404' (página no encontrada), '403' (petición prohibida), y " "'401' (autenticación requerida)." @@ -638,7 +638,7 @@ msgid "" msgstr "" "El cliente debe entonces volver a intentar la solicitud con el nombre y la " "contraseña apropiados para el realm incluido como encabezamiento en la " -"solicitud. Esto es 'basic authentication'. Para simplificar este proceso " +"solicitud. Esto es 'autenticación básica'. Para simplificar este proceso " "podemos crear una instancia de ``HTTPBasicAuthHandler`` y un objeto de " "apertura para usar este manejador." diff --git a/install/index.po b/install/index.po index 19abc6c733..24d80065ee 100644 --- a/install/index.po +++ b/install/index.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:39+0100\n" -"PO-Revision-Date: 2020-08-11 09:27-0300\n" -"Last-Translator: Emmanuel Arias \n" +"PO-Revision-Date: 2021-08-02 19:19+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/install/index.rst:7 msgid "Installing Python Modules (Legacy version)" @@ -279,7 +280,7 @@ msgstr "" "colocar los archivos para instalar en un *directorio de compilación*. Por " "defecto, esto es :file:`build` bajo la raíz de distribución; si está " "demasiado preocupado por la velocidad, o si desea mantener el árbol de " -"origen pristine, puede cambiar el directorio de compilación con la opción :" +"origen prístino, puede cambiar el directorio de compilación con la opción :" "option:`!--build-base`. Por ejemplo::" #: ../Doc/install/index.rst:162 @@ -1503,7 +1504,7 @@ msgid "" "\\distutils\\\\distutils.cfg` in a standard Python 1.5.2 installation under " "Windows." msgstr "" -"(Ver nota (1).) En Python 1.6 y posterior, el \"installation prefix\" por " +"(Ver nota (1).) En Python 1.6 y posterior, el \"prefijo de instalación\" por " "defecto de Python es :file:`C:\\\\Python`, entonces el archivo de " "configuración de sistema es normalmente :file:`C:\\\\Python\\\\Lib\\" "\\distutils\\\\distutils.cfg`. En Python 1.5.2, el prefijo por defecto era :" @@ -1712,8 +1713,8 @@ msgid "" msgstr "" "*archivo fuente* es cualquier cosa que probablemente sea un archivo de " "código fuente, al menos a juzgar por el nombre del archivo. Se supone que " -"los nombres de archivo que terminan en :file: `.c` están escritos en C, los " -"nombres de archivo que terminan en :file:`.C` , :file:`.cc`, y :file:`.c ++` " +"los nombres de archivo que terminan en :file:`.c` están escritos en C, los " +"nombres de archivo que terminan en :file:`.C` , :file:`.cc`, y :file:`.c++` " "son de C ++, y se supone que los nombres de archivo que terminan en :file:`." "m` o :file:`.mm` están en el Objetivo C." @@ -2040,11 +2041,8 @@ msgstr "" "existentes con bibliotecas OMF del mismo nombre." #: ../Doc/install/index.rst:1067 -#, fuzzy msgid "Check https://www.sourceware.org/cygwin/ for more information" -msgstr "" -"Diríjase a https://www.sourceware.org/cygwin/ and http://www.mingw.org/ para " -"mayor información" +msgstr "Diríjase a https://www.sourceware.org/cygwin/ para mayor información" #: ../Doc/install/index.rst:1069 msgid "" diff --git a/library/2to3.po b/library/2to3.po index 168b32d619..972efcfeec 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -67,7 +67,7 @@ msgstr "" #: ../Doc/library/2to3.rst:26 msgid "Here is a sample Python 2.x source file, :file:`example.py`::" -msgstr "Este es un ejemplo de un archivo en Python 2.x, :file: `example.py`::" +msgstr "Este es un ejemplo de un archivo en Python 2.x, :file:`example.py`::" #: ../Doc/library/2to3.rst:34 msgid "It can be converted to Python 3.x code via 2to3 on the command line:" diff --git a/library/argparse.po b/library/argparse.po index 03cdce9788..222f364025 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -555,8 +555,8 @@ msgstr "" "La mayoría de las opciones de la línea de comandos usarán ``-`` como " "prefijo, por ejemplo ``-f/--foo``. Los analizadores que necesiten soportar " "caracteres prefijo diferentes o adicionales, por ejemplo, para opciones como " -"``+f`` o ``/foo``, pueden especificarlos usando el " -"argumento``prefix_chars=`` para el constructor *ArgumentParser*::" +"``+f`` o ``/foo``, pueden especificarlos usando el argumento " +"``prefix_chars=`` para el constructor *ArgumentParser*::" #: ../Doc/library/argparse.rst:496 msgid "" @@ -610,7 +610,7 @@ msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." msgstr "" -"El argumento``fromfile_prefix_chars=`` por defecto es ``None``, lo que " +"El argumento ``fromfile_prefix_chars=`` por defecto es ``None``, lo que " "significa que los argumentos nunca serán tratados como referencias de " "archivos." @@ -1026,7 +1026,7 @@ msgstr "" "También puedes especificar una acción arbitraria pasando una subclase " "*Action* u otro objeto que implemente la misma interfaz. La forma " "recomendada de hacer esto es extender :class:`Action`, sobrescribiendo el " -"método``__call__`` y opcionalmente el método``__init__``." +"método ``__call__`` y opcionalmente el método ``__init__``." #: ../Doc/library/argparse.rst:860 msgid "An example of a custom action::" @@ -2021,7 +2021,7 @@ msgid "" msgstr "" "Además, ``add_parser`` soporta un argumento adicional ``aliases``, que " "permite que múltiples cadenas se refieran al mismo analizador secundario. " -"Este ejemplo, algo del estilo``svn``, alias ``co`` como abreviatura para " +"Este ejemplo, algo del estilo ``svn``, alias ``co`` como abreviatura para " "``checkout``::" #: ../Doc/library/argparse.rst:1756 diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 05f9d46de3..c935f0569a 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -644,7 +644,7 @@ msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" -"La conexión es establecida y un :ref:`transport ` es " +"La conexión es establecida y un :ref:`transporte ` es " "creado para ello." #: ../Doc/library/asyncio-eventloop.rst:385 diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 0edbab43ce..88dc53f5a8 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -630,7 +630,7 @@ msgid "" "doesn't support half-closed connections." msgstr "" "Este método puede lanzar una excepción :exc:`NotImplementedError` si el " -"transporte (p. ej. SSL) no soporta conexiones half-closed ('semi-cerradas')." +"transporte (p. ej. SSL) no soporta conexiones semicerradas (*half-closed*)." #: ../Doc/library/asyncio-protocol.rst:352 msgid "Datagram Transports" @@ -1019,9 +1019,9 @@ msgid "" "which case returning true from this method will result in the connection " "being closed." msgstr "" -"Algunos transportes, incluido SSL, no admiten conexiones half-closed ('semi-" -"cerradas'), en cuyo caso retornar verdadero desde este método resultará en " -"el cierre de la conexión." +"Algunos transportes, incluido SSL, no admiten conexiones semicerradas (*half-" +"closed*), en cuyo caso retornar verdadero desde este método resultará en el " +"cierre de la conexión." #: ../Doc/library/asyncio-protocol.rst:577 #: ../Doc/library/asyncio-protocol.rst:635 diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 48f2b863f9..abcf6e1f4e 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -38,7 +38,7 @@ msgid "" msgstr "" "Las colas asyncio son diseñadas para ser similares a clases del módulo :mod:" "`queue`. Sin embargo las colas asyncio no son seguras para hilos, son " -"diseñadas para usar específicamente en código async/wait." +"diseñadas para usar específicamente en código async/await." #: ../Doc/library/asyncio-queue.rst:17 msgid "" diff --git a/library/audioop.po b/library/audioop.po index 8b43b44371..0aac89cb67 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -152,9 +152,9 @@ msgid "" "both contain 2-byte samples." msgstr "" "Retorna un factor *F* tal que ``rms(add(fragment, mul(reference, -F)))`` sea " -"minimal, i.e., retorna el factor con el cual debes multiplicar la " -"*reference* para hacerlo coincidir tanto como sea posible a *fragment*. Los " -"fragmentos deben contener muestras de 2-byte." +"mínimo, i.e., retorna el factor con el cual debes multiplicar la *reference* " +"para hacerlo coincidir tanto como sea posible a *fragment*. Los fragmentos " +"deben contener muestras de 2-byte." #: ../Doc/library/audioop.rst:99 msgid "The time taken by this routine is proportional to ``len(fragment)``." @@ -187,7 +187,7 @@ msgid "" msgstr "" "Inspecciona *fragment* por un segmento de longitud *length* muestras (¡no " "bytes!) con la energía máxima, i.e., retorna *i* por el cual " -"``rms(fragment[i*2:(i+length)*2])`` es maximal. Los fragmentos deben " +"``rms(fragment[i*2:(i+length)*2])`` es máximo. Los fragmentos deben " "contener muestras de 2 bytes." #: ../Doc/library/audioop.rst:119 @@ -206,7 +206,7 @@ msgid "" "algorithm has been selected for use by the IMA, so it may well become a " "standard." msgstr "" -"Convierte las muestras en codificaciones Indel/DVI ADPCM de 4 bits. La " +"Convierte las muestras en codificaciones Intel/DVI ADPCM de 4 bits. La " "codificación ADPCM es un esquema de codificación adaptativo a través del " "cual cada número de 4 bits es la diferencia entre una muestra y la " "siguiente, dividido por un paso (inconsistente). El algoritmo de Intel/DVI " diff --git a/library/binascii.po b/library/binascii.po index c25afd56b5..880f8ec11a 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -58,8 +58,8 @@ msgstr "" #: ../Doc/library/binascii.rst:29 msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." msgstr "" -"Las cadenas ASCII-only unicode son ahora aceptadas por las funciones " -"``a2b_*``." +"Las cadenas unicode con sólo caracteres ASCII son ahora aceptadas por las " +"funciones ``a2b_*``." #: ../Doc/library/binascii.rst:33 msgid "The :mod:`binascii` module defines the following functions:" diff --git a/library/cmd.po b/library/cmd.po index 9eac3d1e0c..b55fdb52f8 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -432,7 +432,7 @@ msgstr "" "implementado con el método :meth:`~Cmd.precmd` el cuál es el responsable de " "convertir la entrada a minúscula y escribir los comandos en un archivo. El " "método :meth:`do_playback` lee el archivo y añade los comandos grabados al :" -"attr:`cmdqueue` para un playback: inmediato:" +"attr:`cmdqueue` para una reproducción inmediata::" #: ../Doc/library/cmd.rst:320 msgid "" diff --git a/library/configparser.po b/library/configparser.po index 1871e1d6f3..48bfd207ea 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -73,7 +73,7 @@ msgid "" "The json module implements a subset of JavaScript syntax which can also be " "used for this purpose." msgstr "" -"El módulo json implementa un subconjunto de la sintaxis de Javascript, que " +"El módulo json implementa un subconjunto de la sintaxis de JavaScript, que " "también puede utilizarse para este propósito." #: ../Doc/library/configparser.rst:51 diff --git a/library/ctypes.po b/library/ctypes.po index b560d15eeb..1b48b92d90 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -703,7 +703,7 @@ msgid "" "Here is a more advanced example, it uses the ``strchr`` function, which " "expects a string pointer and a char, and returns a pointer to a string::" msgstr "" -"Aquí hay un ejemplo más avanzado, utiliza la función``strchr``, que espera " +"Aquí hay un ejemplo más avanzado, utiliza la función ``strchr``, que espera " "un puntero de cadena y un carácter, y retorna un puntero a una cadena::" #: ../Doc/library/ctypes.rst:464 @@ -1753,7 +1753,7 @@ msgstr "" msgid "Thus, this is only useful to call Python C api functions directly." msgstr "" "Por lo tanto, esto sólo es útil para llamar directamente a las funciones api " -"C de Pythoni." +"C de Python." #: ../Doc/library/ctypes.rst:1381 msgid "" @@ -1779,8 +1779,8 @@ msgid "" "configurable." msgstr "" "El parámetro *mode* puede utilizarse para especificar cómo se carga la " -"biblioteca. Para más detalles, consulte la página :manpage:`dlopen(3)` " -"manpage. En Windows, *mode* es ignorado. En los sistemas posix, RTLD_NOW " +"biblioteca. Para más detalles, consulte la página :manpage:`dlopen(3)` del " +"manual. En Windows, *mode* es ignorado. En los sistemas posix, RTLD_NOW " "siempre se agrega, y no es configurable." #: ../Doc/library/ctypes.rst:1393 diff --git a/library/curses.ascii.po b/library/curses.ascii.po index 92b4c240ae..bad16a1bc5 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -473,7 +473,7 @@ msgid "" "character bit value is bitwise-anded with 0x1f)." msgstr "" "Retorna el carácter de control correspondiente al carácter dado (el valor " -"del bit del carácter es bit a bit (* bitwise-anded*) con 0x1f)." +"del bit del carácter es bit a bit (*bitwise-anded*) con 0x1f)." #: ../Doc/library/curses.ascii.rst:203 msgid "" diff --git a/library/curses.po b/library/curses.po index 5e45d51619..b8ac985bf2 100644 --- a/library/curses.po +++ b/library/curses.po @@ -190,7 +190,7 @@ msgid "" "Return ``True`` or ``False``, depending on whether the programmer can change " "the colors displayed by the terminal." msgstr "" -"Retorna \"True\" o \"False\", dependiendo ya sea que el programador puede " +"Retorna ``True`` o ``False``, dependiendo ya sea que el programador puede " "cambiar los colores presentados por la terminal." #: ../Doc/library/curses.rst:105 @@ -345,12 +345,12 @@ msgid "" msgstr "" "La rutina :func:`.filter`, si es usada, debe ser llamada antes que :func:" "`initscr` sea llamada. El efecto es que durante estas llamadas, :envvar:" -"`LINES` es configurada para \"1\"; las capacidades \"clear\", \"cup\", \"cud" -"\", \"cud1\", \"cuu1\", \"cuu\", \"vpa\" son desactivadas; y la cadena \"home" -"\" es configurada para el valor de \"cr\". El efecto es que el cursor es " -"confinado para la línea actual, y también las pantallas son actualizadas. " -"Este puede ser usado para habilitar la línea editando el carácter en un " -"tiempo sin tocar el resto de las pantallas." +"`LINES` es configurada para ``1``; las capacidades ``clear``, ``cup``, " +"``cud``, ``cud1``, ``cuu1``, ``cuu``, ``vpa`` son desactivadas; y la cadena " +"``home`` es configurada para el valor de ``cr``. El efecto es que el cursor " +"es confinado para la línea actual, y también las pantallas son " +"actualizadas. Este puede ser usado para habilitar la línea editando el " +"carácter en un tiempo sin tocar el resto de las pantallas." #: ../Doc/library/curses.rst:204 msgid "" @@ -424,8 +424,8 @@ msgid "" "Return ``True`` if the terminal can display colors; otherwise, return " "``False``." msgstr "" -"Retorna \"True\" si el terminal puede desplegar colores, en caso contrario, " -"retorna \"False\"." +"Retorna ``True`` si el terminal puede desplegar colores, en caso contrario, " +"retorna ``False``." #: ../Doc/library/curses.rst:249 msgid "" @@ -455,7 +455,7 @@ msgid "" "Take a key value *ch*, and return ``True`` if the current terminal type " "recognizes a key with that value." msgstr "" -"Toma una clave valor *ch*, y retorna \"True\" si el tipo de terminal actual " +"Toma una clave valor *ch*, y retorna ``True`` si el tipo de terminal actual " "reconoce una clave con ese valor." #: ../Doc/library/curses.rst:270 @@ -537,15 +537,15 @@ msgid "" "Return ``True`` if :func:`resize_term` would modify the window structure, " "``False`` otherwise." msgstr "" -"Retorna \"True\" si :func:`resize_term` modificaría la estructura de la " -"ventana, \"False\" en caso contrario." +"Retorna ``True`` si :func:`resize_term` modificaría la estructura de la " +"ventana, ``False`` en caso contrario." #: ../Doc/library/curses.rst:320 msgid "" "Return ``True`` if :func:`endwin` has been called (that is, the curses " "library has been deinitialized)." msgstr "" -"Retorna \"True\" si :func:`endwin` ha sido llamado (eso es que la librería " +"Retorna ``True`` si :func:`endwin` ha sido llamado (eso es que la librería " "curses ha sido desinicializada)." #: ../Doc/library/curses.rst:326 @@ -594,8 +594,8 @@ msgid "" "If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " "``False``, allow only 7-bit chars." msgstr "" -"Si *flag* es \"True\", permite caracteres de 8 bits para ser introducidos. " -"Si *flag* es \"False\", permite solamente caracteres de 7 bits." +"Si *flag* es ``True``, permite caracteres de 8 bits para ser introducidos. " +"Si *flag* es ``False``, permite solamente caracteres de 7 bits." #: ../Doc/library/curses.rst:356 msgid "" @@ -880,7 +880,7 @@ msgid "" "then :meth:`leaveok ` is set ``True``." msgstr "" "Fija el cursor de la pantalla virtual para *y*, *x*. Si *y* y *x* son ambos " -"\"-1\", entonces :meth:`leaveok ` es configurado \"True\"." +"\"-1\", entonces :meth:`leaveok ` es configurado ``True``." #: ../Doc/library/curses.rst:551 msgid "" @@ -1211,7 +1211,7 @@ msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -"Añade el atributo *attr* del conjunto del *background* aplicado para todas " +"Añade el atributo *attr* del conjunto del \"background\" aplicado para todas " "las escrituras de la ventana actual." #: ../Doc/library/curses.rst:765 @@ -1426,7 +1426,7 @@ msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." msgstr "" -"Si *flag* es \"True\", la siguiente llamada para :meth:`refresh` limpiará la " +"Si *flag* es ``True``, la siguiente llamada para :meth:`refresh` limpiará la " "ventana completamente." #: ../Doc/library/curses.rst:858 @@ -1754,12 +1754,12 @@ msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." msgstr "" -"Si *flag* es \"False\", el cursor siempre estará en \"cursor position\" " +"Si *flag* es ``False``, el cursor siempre estará en \"cursor position\" " "después de una actualización." #: ../Doc/library/curses.rst:1098 msgid "Move cursor to ``(new_y, new_x)``." -msgstr "Mueve el cursor a \"(new_y, new_x)\"." +msgstr "Mueve el cursor a ``(new_y, new_x)``." #: ../Doc/library/curses.rst:1103 msgid "" @@ -1775,16 +1775,16 @@ msgstr "" #: ../Doc/library/curses.rst:1110 msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." msgstr "" -"Mueve la ventana a su esquina superior izquierda que está en \"(new_y," -"new_x)\"." +"Mueve la ventana a su esquina superior izquierda que está en ``(new_y," +"new_x)``." #: ../Doc/library/curses.rst:1115 msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." -msgstr "Si *flag* es \"True\", :meth:`getch` no será bloqueada." +msgstr "Si *flag* es ``True``, :meth:`getch` no será bloqueada." #: ../Doc/library/curses.rst:1120 msgid "If *flag* is ``True``, escape sequences will not be timed out." -msgstr "Si *flag* es \"True\", las secuencias de escape no serán agotadas." +msgstr "Si *flag* es ``True``, las secuencias de escape no serán agotadas." #: ../Doc/library/curses.rst:1122 msgid "" @@ -2024,7 +2024,7 @@ msgid "" msgstr "" "Configura el bloqueo o no bloqueo del comportamiento para la ventana. Si el " "*delay* es negativo, bloqueando la lectura usada (el cual esperará " -"indefinidamente para la entrada). Si *delay* es zero, entonces no se " +"indefinidamente para la entrada). Si *delay* es cero, entonces no se " "bloqueará la lectura usada, y :meth:`getch` retornará ``-1`` si la entrada " "no está esperando. Si *delay* es positivo, entonces :meth:`getch` se " "bloqueará por *delay* milisegundos, y retorna ``-1`` si aún no entra en el " diff --git a/library/dataclasses.po b/library/dataclasses.po index 14dc996454..c461ace48e 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -107,7 +107,7 @@ msgid "" "decorator returns the same class that is called on; no new class is created." msgstr "" "El decorador :func:`dataclass` añade varios métodos \"*dunder*" -"\" (abreviación de 'double underline') a la clase, descritos a continuación. " +"\" (abreviación de *double underline*) a la clase, descritos a continuación. " "Si alguno de los métodos añadidos ya existe en la definición de la clase, el " "comportamiento dependerá del parámetro, como se documenta abajo. El " "decorador retorna la misma clase con la que es llamado, no crea una nueva." diff --git a/library/datetime.po b/library/datetime.po index fb70592e87..6abf2ca674 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -2493,7 +2493,7 @@ msgstr "" "ignora y se comparan los tiempos base. Si ambos elementos comparados son " "conscientes y tienen atributos diferentes :attr:`~time.tzinfo`, los " "elementos comparados se ajustan primero restando sus compensaciones UTC " -"(obtenidas de``self.utcoffset()``). Para evitar que las comparaciones de " +"(obtenidas de ``self.utcoffset()``). Para evitar que las comparaciones de " "tipos mixtos vuelvan a la comparación predeterminada por dirección de " "objeto, cuando un objeto :class:`.time` se compara con un objeto de un tipo " "diferente, se genera :exc:`TypeError` a menos que la comparación es ``==`` o " @@ -2915,7 +2915,7 @@ msgstr "" "Cuando se pasa ``None``, corresponde al diseñador de la clase decidir la " "mejor respuesta. Por ejemplo, retornar ``None`` es apropiado si la clase " "desea decir que los objetos de tiempo no participan en los protocolos :class:" -"`tzinfo`. Puede ser más útil que ``utcoffset (None)`` retorne el " +"`tzinfo`. Puede ser más útil que ``utcoffset(None)`` retorne el " "desplazamiento UTC estándar, ya que no existe otra convención para descubrir " "el desplazamiento estándar." diff --git a/library/difflib.po b/library/difflib.po index f8fd2508e9..26bec083c4 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -397,7 +397,7 @@ msgstr "" "Retorna una lista de las mejores coincidencias \"lo suficientemente buenas" "\". *word* es una secuencia para la cual coincidencias cercanas son deseadas " "(usualmente una cadena de texto), y *possibilities* es una lista de " -"secuencias contra la cual se compara *word* (comunmente una lista de cadenas " +"secuencias contra la cual se compara *word* (comúnmente una lista de cadenas " "de caracteres)." #: ../Doc/library/difflib.rst:202 diff --git a/library/distutils.po b/library/distutils.po index 482eb27863..ab407c5d94 100644 --- a/library/distutils.po +++ b/library/distutils.po @@ -45,8 +45,8 @@ msgid "" "an enhanced alternative to :mod:`distutils` that provides:" msgstr "" "La mayoría de los usuarios de Python *no* querrán utilizar este módulo " -"directamente, sino que usarán las herramientas cross-version mantenidas por " -"la Python Packaging Authority. En particular, `setuptools `__ es una alternativa mejorada a :mod:" "`distutils` que proporciona:" diff --git a/library/doctest.po b/library/doctest.po index 2e694009d2..5d14e3ec5f 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -104,7 +104,7 @@ msgid "" "file :file:`Lib/test/test_doctest.py`." msgstr "" "¡Eso es todo lo que necesitas saber para empezar a hacer uso productivo de :" -"mod:`doctest`! Zambúllete. Las siguientes secciones proporcionan detalles " +"mod:`doctest`! Lánzate. Las siguientes secciones proporcionan detalles " "completos. Note que hay muchos ejemplos de doctests en el conjunto de " "pruebas estándar de Python y bibliotecas. Especialmente ejemplos útiles se " "pueden encontrar en el archivo de pruebas estándar :file:`Lib/test/" @@ -1121,7 +1121,7 @@ msgstr "" "Los números de coma flotante también son sujetos a pequeñas variaciones de " "la salida a través de las plataformas, porque Python defiere a la librería C " "de la plataforma para el formato de flotantes, y las librerías de C varían " -"extensamente en calidad aqui. ::" +"extensamente en calidad aquí. ::" #: ../Doc/library/doctest.rst:820 msgid "" @@ -1195,7 +1195,7 @@ msgstr "" "si el argumento *package* es especificado, entonces es relativo a ese " "paquete. Para asegurar la independencia del SO, *filename* debe usar " "caracteres ``/`` para separar segmentos, y no puede ser una ruta absoluta " -"(p. eg., no puede empezar con ``/``)." +"(por ejemplo., no puede empezar con ``/``)." #: ../Doc/library/doctest.rst:859 msgid "" @@ -2016,7 +2016,7 @@ msgid "" "The constructor adds a newline when necessary." msgstr "" "La salida esperada de ejecutar el código fuente del ejemplo (o desde la " -"salida estandar, o un seguimiento en caso de una excepción). :attr:`wants` " +"salida estándar, o un seguimiento en caso de una excepción). :attr:`wants` " "termina con una nueva línea a menos que no se espera ninguna salida, en cuyo " "caso es una cadena vacía. El constructor añade una nueva línea cuando sea " "necesario." diff --git a/library/email.encoders.po b/library/email.encoders.po index dcd6ab1336..4fad287e54 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -47,7 +47,7 @@ msgid "" "sets the content type and CTE header using the *_subtype* and *_charset* " "values passed during the instantiation of that class." msgstr "" -"Este módulo está obsoleto (deprecated) en Python 3. Las funciones que " +"Este módulo está obsoleto (*deprecated*) en Python 3. Las funciones que " "aparecen aquí no deberían ser llamadas explícitamente ya que la clase :class:" "`~email.mime.text.MIMEText` establece el tipo de contenido y el encabezado " "CTE utilizando los valores del *_subtype* y del *_charset* que se pasan " diff --git a/library/email.message.po b/library/email.message.po index d9387afba9..e60e0eccb0 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -61,15 +61,15 @@ msgid "" "having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:`message/" "rfc822`." msgstr "" -"Un mensaje de e-mail consiste en *cabeceras* y una *carga útil* (a la que " -"también nos referimos como *contenido* o *payload*). Cabeceras como :rfc:" -"`5322` o :rfc:`6532` son nombres de campos de estilo y valores, donde el " -"nombre y valor están separados por un ':'. Los dos puntos no son parte ni " -"del nombre ni del valor. La carga útil puede ser un simple mensaje, un " -"objeto binario, o una secuencia estructurada de sub-mensajes, cada uno con " -"su propio conjunto de cabeceras y su propia carga útil. El último tipo de " -"carga útil es indicado por el mensaje con un MIME como :mimetype:`multipart/" -"\\*` o :mimetype:`message/rfc822` ." +"Un mensaje de correo electrónico consiste en *headers* y un *payload* (al " +"que también nos referimos como *content*). *Headers* como :rfc:`5322` o :rfc:" +"`6532` son nombres de campos de estilo y valores, donde el nombre y valor " +"están separados por un ':'. Los dos puntos no son parte ni del nombre ni del " +"valor. El *payload* puede ser un simple mensaje, un objeto binario, o una " +"secuencia estructurada de sub-mensajes, cada uno con su propio conjunto de " +"*headers* y su propio *payload*. El último tipo de *payload* es indicado por " +"el mensaje con un MIME como :mimetype:`multipart/\\*` o :mimetype:`message/" +"rfc822` ." #: ../Doc/library/email.message.rst:31 msgid "" diff --git a/library/email.parser.po b/library/email.parser.po index 1a1f0eddcd..eb5e1c5ea1 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -545,7 +545,7 @@ msgid "" "See :mod:`email.errors` for details." msgstr "" "Algunos mensajes de conformidad no estándar pueden no ser internamente " -"consistentes acerca de su :mimetype:`multipart`\\-idad. Tales mensajes " +"consistentes acerca de su :mimetype:`multipart`\\ -idad. Tales mensajes " "pueden tener una cabecera :mailheader:`Content-Type` de tipo :mimetype:" "`multipart`, pero su método :meth:`~email.message.EmailMessage.is_multipart` " "puede retornar ``False``. Si tales mensajes son analizados con :class:" diff --git a/library/enum.po b/library/enum.po index 582244fb6a..fbf19a062a 100644 --- a/library/enum.po +++ b/library/enum.po @@ -1197,7 +1197,7 @@ msgstr "``_name_``— nombre del miembro" msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" -"``_value_`` — valor del miembr0; se puede definir / modificar en ``__new__``" +"``_value_`` — valor del miembro; se puede definir / modificar en ``__new__``" #: ../Doc/library/enum.rst:1091 msgid "" diff --git a/library/exceptions.po b/library/exceptions.po index 9586927973..2c19b8ecc9 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -447,7 +447,7 @@ msgid "" msgstr "" "La segunda forma del constructor establece los atributos correspondientes, " "que se describen a continuación. Los atributos predeterminados son :const:" -"`None` si no se especificam. Para compatibilidad con versiones anteriores, " +"`None` si no se especifican. Para compatibilidad con versiones anteriores, " "si se pasan tres argumentos, el atributo :attr:`~BaseException.args` " "contiene solo una tupla de 2 de los dos primeros argumentos del constructor." diff --git a/library/faulthandler.po b/library/faulthandler.po index 7798cee3f3..e04b51d7cc 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -195,7 +195,7 @@ msgid "" msgstr "" "Vuelca los rastreos de todos los hilos, después de un tiempo de espera de " "*timeout* segundos, o cada *timeout* segundos si *repeat* es ``True``. Si " -"*exit* es ``True``, llama a :c:func:`_exit` con status=1 después de volcar " +"*exit* es ``True``, llama a :c:func:`_exit` con *status=1* después de volcar " "los rastreos. (Nota: :c:func:`_exit` termina el proceso inmediatamente, lo " "que significa que no hace ninguna limpieza como vaciar los buffers de " "archivos.) Si la función se llama dos veces, la nueva llamada reemplaza los " diff --git a/library/ftplib.po b/library/ftplib.po index 1c52a19094..54e90349cb 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -246,7 +246,7 @@ msgid "" "debugging output, logging each line sent and received on the control " "connection." msgstr "" -"Establece el nivel de depuración de la isntancia. Esto controla la cantidad " +"Establece el nivel de depuración de la instancia. Esto controla la cantidad " "de salida de depuración impresa. El valor predeterminado, ``0``, no produce " "una salida de depuración. Un valor de ``1`` produce una cantidad moderada de " "salida de depuración, generalmente una sola línea por solicitud. Un valor de " diff --git a/library/http.client.po b/library/http.client.po index 83eb9b6bdb..a941aae9a0 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -581,8 +581,8 @@ msgid "" "argument. If more arguments are given, continuation lines are sent, each " "consisting of a tab and an argument." msgstr "" -"Envía un encabezado :rfc:`822`\\ -style al servidor. Este envía una línea al " -"servidor que consta del encabezado, dos puntos y un espacio, y el primer " +"Envía un encabezado de estilo :rfc:`822`\\ al servidor. Este envía una línea " +"al servidor que consta del encabezado, dos puntos y un espacio, y el primer " "argumento. Si se dan más argumentos, se envían líneas de continuación, cada " "una de las cuales consta de tabulación y un argumento." diff --git a/library/http.cookies.po b/library/http.cookies.po index c620d2c976..0889bbb5fb 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -89,8 +89,8 @@ msgid "" "Exception failing because of :rfc:`2109` invalidity: incorrect attributes, " "incorrect :mailheader:`Set-Cookie` header, etc." msgstr "" -"Error de excepción debido a :rfc:`2109` invalidity: atributos incorrectos, " -"encabezado :mailheader:`Set-Cookie` incorrecto, etc." +"Error de excepción debido a la invalidez de :rfc:`2109`: atributos " +"incorrectos, encabezado :mailheader:`Set-Cookie` incorrecto, etc." #: ../Doc/library/http.cookies.rst:48 msgid "" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index 906665c638..28c7d61543 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -48,7 +48,7 @@ msgstr "" "importación de Python, esta biblioteca tiene la intención de reemplazar una " "funcionalidad similar ofrecida por la `API del punto de entrada`_ y la `API " "de metadatos`_ de ``pkg_resources``. Junto con ``importlib.resources`` en " -"`Python 3.7 y versiones posteriores`_ (retroimportada como " +"`Python 3.7 y versiones posteriores`_ (respaldada como " "`importlib_resources`_ para versiones anteriores de Python), esto puede " "eliminar la necesidad de usar el paquete ``pkg_resources``, antiguo y menos " "eficiente." diff --git a/library/io.po b/library/io.po index 502abf93d4..5444123005 100644 --- a/library/io.po +++ b/library/io.po @@ -232,7 +232,7 @@ msgid "" "arguments may have been modified or inferred from the original call." msgstr "" "Esta función lanza un :ref:`evento de auditoría ` ``open`` con los " -"argumentos ``path``, ``mode`` y ``flags``. Los argumentos``mode`` y " +"argumentos ``path``, ``mode`` y ``flags``. Los argumentos ``mode`` y " "``flags`` pueden haber sido modificados o inferido desde el pedido original." #: ../Doc/library/io.rst:132 @@ -241,7 +241,7 @@ msgid "" "when the intent is to treat the contents as executable code." msgstr "" "Abre el archivo dado con el modo ``'rb'``. Esta función debe ser usado " -"cuando la intención es tratar el contenido como código ejecutible." +"cuando la intención es tratar el contenido como código ejecutable." #: ../Doc/library/io.rst:135 msgid "``path`` should be a :class:`str` and an absolute path." @@ -448,7 +448,7 @@ msgstr "``readinto`` and ``write``" #: ../Doc/library/io.rst:228 msgid "Inherited :class:`IOBase` methods, ``read``, and ``readall``" -msgstr "Heredada :class:`IOBase` methods, ``read``, and ``readall``" +msgstr "Métodos :class:`IOBase` heredados, ``read``, and ``readall``" #: ../Doc/library/io.rst:230 msgid ":class:`BufferedIOBase`" @@ -460,7 +460,7 @@ msgstr "``detach``, ``read``, ``read1``, and ``write``" #: ../Doc/library/io.rst:230 msgid "Inherited :class:`IOBase` methods, ``readinto``, and ``readinto1``" -msgstr "Heredada :class:`IOBase` methods, ``readinto``, and ``readinto1``" +msgstr "Métodos :class:`IOBase` heredados, ``readinto``, and ``readinto1``" #: ../Doc/library/io.rst:232 msgid ":class:`TextIOBase`" @@ -474,7 +474,7 @@ msgstr "``detach``, ``read``, ``readline``, and ``write``" msgid "" "Inherited :class:`IOBase` methods, ``encoding``, ``errors``, and ``newlines``" msgstr "" -"Heredada :class:`IOBase` methods, ``encoding``, ``errors``, and ``newlines``" +"Métodos :class:`IOBase` heredados, ``encoding``, ``errors``, and ``newlines``" #: ../Doc/library/io.rst:239 msgid "I/O Base Classes" @@ -541,7 +541,7 @@ msgid "" "stream is a binary stream (yielding bytes), or a text stream (yielding " "character strings). See :meth:`~IOBase.readline` below." msgstr "" -":class:`IOBase` (y sus subcalsificaciones) apoyan el protocolo iterador, " +":class:`IOBase` (y sus subclasificaciones) apoyan el protocolo iterador, " "significando que un objeto de clase :class:`IOBase` puede ser iterado sobre " "el rendimiento de las líneas en un *stream* de datos. Líneas son definidas " "un poco diferente dependiendo si el *stream* es de tipo binario (produciendo " @@ -578,7 +578,7 @@ msgid "" "As a convenience, it is allowed to call this method more than once; only the " "first call, however, will have an effect." msgstr "" -"Como convenienca, se permite llamar este método más que una vez. Sin " +"Como conveniencia, se permite llamar este método más que una vez. Sin " "embargo, solamente el primer llamado tenderá efecto." #: ../Doc/library/io.rst:290 @@ -1367,8 +1367,8 @@ msgstr "cuando se llama :meth:`flush()`;" msgid "" "when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" msgstr "" -"cuando se pide un método :meth:`seek()` (para :class:`BufferedRandom` " -"objects);" +"cuando se pide un método :meth:`seek()` (para objetos :class:" +"`BufferedRandom`);" #: ../Doc/library/io.rst:722 msgid "when the :class:`BufferedWriter` object is closed or destroyed." @@ -1516,7 +1516,7 @@ msgid "" "translated so far. Depending on the implementation and the initial " "constructor flags, this may not be available." msgstr "" -"Una cadena de cracteres, una tupla de cadena de caracteres, o ``None``, " +"Una cadena de caracteres, una tupla de cadena de caracteres, o ``None``, " "indicando las nuevas líneas traducidas hasta ese momento. Dependiendo de la " "implementación y los indicadores iniciales del constructor, esto puede no " "estar disponible." @@ -1758,7 +1758,7 @@ msgstr "" "getpreferredencoding(False)`` en vez de ``locale.getpreferredencoding()``. " "No cambie temporalmente la codificación local usando :func:`locale." "setlocale`, use la codificación local actual en vez del preferido del " -"usaurio." +"usuario." #: ../Doc/library/io.rst:933 #, fuzzy diff --git a/library/itertools.po b/library/itertools.po index b89d4f39e3..9b3fc818a0 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -121,7 +121,7 @@ msgstr "p" #: ../Doc/library/itertools.rst:41 msgid "p0, p1, ... plast, p0, p1, ..." -msgstr "p0, p1, ... pfinal, p0, p1, ..." +msgstr "p0, p1, ... plast, p0, p1, ..." #: ../Doc/library/itertools.rst:41 msgid "``cycle('ABCD') --> A B C D A B C D ...``" @@ -173,7 +173,7 @@ msgstr "p, q, ..." #: ../Doc/library/itertools.rst:51 ../Doc/library/itertools.rst:52 msgid "p0, p1, ... plast, q0, q1, ..." -msgstr "p0, p1, ... pfinal, q0, q1, ..." +msgstr "p0, p1, ... plast, q0, q1, ..." #: ../Doc/library/itertools.rst:51 msgid "``chain('ABC', 'DEF') --> A B C D E F``" @@ -434,9 +434,8 @@ msgstr "" "Si *func* es definido, debería ser una función de 2 argumentos. Los " "elementos de entrada de *iterable* pueden ser de cualquier tipo que puedan " "ser aceptados como argumentos de *func*. (Por ejemplo, con la operación por " -"defecto –adición, los elementos pueden ser cualquier tipo que sea " -"adicionable, incluyendo :class:`~decimal.Decimal` o :class:`~fractions." -"Fraction`.)" +"defecto –adición, los elementos pueden ser cualquier tipo que sea sumable, " +"incluyendo :class:`~decimal.Decimal` o :class:`~fractions.Fraction`.)" #: ../Doc/library/itertools.rst:107 msgid "" @@ -738,13 +737,13 @@ msgstr "" "*start* es diferente a cero, los elementos del iterable son ignorados hasta " "que se llegue a *start*. Después de eso, los elementos son retornados " "consecutivamente a menos que *step* posea un valor tan alto que permita que " -"algunos elementos sean ignordos. Si *stop* es ``None``, la iteración " +"algunos elementos sean ignorados. Si *stop* es ``None``, la iteración " "continúa hasta que el iterador sea consumido (si es que llega a ocurrir); de " "lo contrario, se detiene en la posición especificada. A diferencia de la " "segmentación normal, :func:`islice` no soporta valores negativos para " "*start*, *stop*, o *step*. Puede usarse para extraer campos relacionados de " "estructuras de datos que internamente has sido simplificadas (por ejemplo, " -"un reporte milti-línea puede contener un nombre de campo cada tres líneas). " +"un reporte multilínea puede contener un nombre de campo cada tres líneas). " "Aproximadamente equivalente a::" #: ../Doc/library/itertools.rst:475 diff --git a/library/json.po b/library/json.po index fd0f22b240..c33bcbdb9e 100644 --- a/library/json.po +++ b/library/json.po @@ -134,9 +134,9 @@ msgid "" "supporting :term:`file-like object`) using this :ref:`conversion table `." msgstr "" -"Serializa *obj* como una secuencia con formato JSON a *fp* (a ``.write()`` -" -"supporting :term:`file-like object`) usando esto :ref:`conversion table `." +"Serializa *obj* como una secuencia con formato JSON a *fp* (una invocación " +"``.write()``- que soporta :term:`file-like object`) usando esto :ref:" +"`conversion table `." #: ../Doc/library/json.rst:148 msgid "" @@ -383,7 +383,7 @@ msgid "" msgstr "" "*parse_constant*, si se especifica, se llamará con una de las siguientes " "cadenas: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. Esto se puede utilizar " -"para generar una excepción si se encuentran números JSON invalidos." +"para generar una excepción si se encuentran números JSON inválidos." #: ../Doc/library/json.rst:263 msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." diff --git a/library/locale.po b/library/locale.po index f0a890dd04..08be471c75 100644 --- a/library/locale.po +++ b/library/locale.po @@ -902,7 +902,7 @@ msgid "" "affected by that category. All other numeric formatting operations are not " "affected." msgstr "" -"Categoría de configuración regional para formateo de numeros. Las " +"Categoría de configuración regional para formateo de números. Las " "funciones :func:`. format`, :func:`atoi`, :func:`atof` y :func:`.str` del " "módulo :mod:`locale` están afectados por esa categoría. Todas las demás " "operaciones de formato numérico no están afectadas." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 9c4ee9763b..acbd311c6c 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -1039,7 +1039,7 @@ msgstr "" "*facility* no se especifica se usara :const:`LOG_USER` . El tipo de socket " "abierto usado depende del argumento *socktype* , que por defecto es :const:" "`socket.SOCK_DGRAM` y por lo tanto abre un socket UDP . Para abrir un socket " -"TCP (para usar con los nuevos *daemons syslog* como Rsyslog) se debe " +"TCP (para usar con los nuevos *daemons syslog* como rsyslog) se debe " "especificar un valor de :const:`socket.SOCK_STREAM`." #: ../Doc/library/logging.handlers.rst:603 @@ -1107,7 +1107,7 @@ msgstr "" "Para habilitar una gestión mas sencilla de los mensajes *syslog* respecto de " "todos esos *daemons* de diferentes comportamientos el agregado del byte NUL " "es configurable a través del uso del atributo de nivel de clase " -"'append_nul'. Este es por defecto '``True`` (preservando el comportamiento " +"``append_nul``. Este es por defecto '``True`` (preservando el comportamiento " "ya existente) pero se puede establecer a 'False' en una instancia " "``SysLogHandler`` como para que esa instancia no añada el terminador NUL." @@ -1219,7 +1219,7 @@ msgstr "LOG_NOTICE" #: ../Doc/library/logging.handlers.rst:679 msgid "``warn`` or ``warning``" -msgstr "``warn`` or ``warning``" +msgstr "``warn`` o ``warning``" #: ../Doc/library/logging.handlers.rst:679 msgid "LOG_WARNING" @@ -1441,7 +1441,7 @@ msgstr "" "el log de eventos. Se crea una entrada de registro apropiada usando este " "nombre. El *dllname* debe dar la ruta completa calificada de un .dll o .exe " "que contiene definiciones de mensaje para conservar en el log. (si no esta " -"especificada, se usara``'win32service.pyd'`` esto es instalado con las " +"especificada, se usara ``'win32service.pyd'`` esto es instalado con las " "extensiones de Win32 y contiene algunas definiciones básicas de mensajes de " "conservación de lugar. Nótese que el uso de estos conservadores de lugar " "harán tu log de eventos extenso, dado que el origen completo del mensaje es " diff --git a/library/logging.po b/library/logging.po index 5c8df5ec08..304f058353 100644 --- a/library/logging.po +++ b/library/logging.po @@ -835,7 +835,7 @@ msgstr "" "Poner en orden los recursos utilizados por el gestor. Esta versión no genera " "salida, pero elimina el controlador de una lista interna de gestores que se " "cierra cuando se llama a :func:`shutdown`. Las subclases deben garantizar " -"que esto se llame desde métodos :meth:`close` sobresescritos." +"que esto se llame desde métodos :meth:`close` sobreescritos." #: ../Doc/library/logging.rst:474 msgid "" diff --git a/library/mailbox.po b/library/mailbox.po index bb46a0fc63..403ce3f5f9 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -1227,7 +1227,7 @@ msgid "" "`mmdf man page from tin `_" msgstr "" -"`Página web de mmdf por Tin `_" #: ../Doc/library/mailbox.rst:746 @@ -2174,7 +2174,7 @@ msgstr "" "la siguiente manera: cada encabezado visible con un encabezado original " "correspondiente se establece como el valor del encabezado original, cada " "encabezado visible sin un encabezado original correspondiente se elimina, y " -"cualquiera de : mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-" +"cualquiera de :mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-" "To`, :mailheader:`To`, :mailheader:`CC`, y :mailheader:`Subject` que están " "presentes en las cabeceras originales pero no las cabeceras visibles se " "añaden a las cabeceras visibles." diff --git a/library/msvcrt.po b/library/msvcrt.po index 8ae01fe62e..280bcb5993 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -193,7 +193,7 @@ msgstr "" "esperará a que se presione :kbd:`Enter`. Si la tecla pulsada era una tecla " "de función especial, esto retornará ``'\\000'`` o ``'xe0'``; la siguiente " "llamada retornará el código de la tecla pulsada. La pulsación de la tecla :" -"kbd:'Control-C' no se puede leer con esta función." +"kbd:`Control-C` no se puede leer con esta función." #: ../Doc/library/msvcrt.rst:116 msgid "Wide char variant of :func:`getch`, returning a Unicode value." diff --git a/library/os.po b/library/os.po index 7126c40c9d..154ef4dac2 100644 --- a/library/os.po +++ b/library/os.po @@ -486,7 +486,7 @@ msgid "" "the \"set id\" bit on the file being executed in the current process." msgstr "" "Retorna el *id* del grupo (*gid*) efectivo correspondiente al proceso que se " -"está ejecuntando. Esto corresponde al bit de *\"set id\"* en el archivo que " +"está ejecutando. Esto corresponde al bit de *\"set id\"* en el archivo que " "se está ejecutando en el proceso actual." #: ../Doc/library/os.rst:271 @@ -508,7 +508,7 @@ msgid "" "from the password record for *user*." msgstr "" "Retorna la lista de *ids* de grupos al que el usuario pertenece. Si el grupo " -"*group* no está en la lista, se inlcuirá; típicamente *group* se especifica " +"*group* no está en la lista, se incluirá; típicamente *group* se especifica " "como en el campo *ID* de grupo del registro de claves del usuario." #: ../Doc/library/os.rst:298 @@ -3904,7 +3904,7 @@ msgstr "" #: ../Doc/library/os.rst:2634 msgid "Type of device if an inode device." -msgstr "Tipo de dispositivo si es un dispositivo inode." +msgstr "Tipo de dispositivo si es un dispositivo inodo." #: ../Doc/library/os.rst:2638 msgid "User defined flags for file." @@ -4412,7 +4412,7 @@ msgstr "" "resolución con la que su sistema operativo registre los tiempos de acceso y " "modificación; ver :func:`~os.stat`. La mejor manera de preservar los tiempos " "exactos es usar los campos *st_atime_ns* y *st_mtime_ns* del objeto de " -"resultado :func:`os.stat` con el parámetro *ns* para` utime`." +"resultado :func:`os.stat` con el parámetro *ns* para `utime`." #: ../Doc/library/os.rst:2973 msgid "" @@ -5380,7 +5380,7 @@ msgstr "" "de retorno del proceso desplazado a la izquierda en un byte. Si el código de " "retorno es negativo, el proceso fue terminado por la señal dada por el valor " "negado del código de retorno. (Por ejemplo, el valor de retorno podría ser " -"`` - signal.SIGKILL`` si se eliminó el subproceso). En los sistemas Windows, " +"``- signal.SIGKILL`` si se eliminó el subproceso). En los sistemas Windows, " "el valor de retorno contiene el código de retorno entero firmado del proceso " "secundario." diff --git a/library/platform.po b/library/platform.po index ba073fc9bc..cd26e76441 100644 --- a/library/platform.po +++ b/library/platform.po @@ -357,7 +357,7 @@ msgid "" "code that checks arguments, ranges, etc." msgstr "" "Como sugerencia: *ptype* es ``'Uniprocessor Free'`` en máquinas NT de " -"procesador único y '''Multiprocessor Free''' en máquinas multiprocesador. El " +"procesador único y ``'Multiprocessor Free'`` en máquinas multiprocesador. El " "*'Free'* se refiere a que la versión del sistema operativo está libre de " "código de depuración. También podría indicar *'Checked'* lo que significa " "que la versión del sistema operativo utiliza código de depuración, es decir, " diff --git a/library/profile.po b/library/profile.po index a38f03234b..204294913e 100644 --- a/library/profile.po +++ b/library/profile.po @@ -192,7 +192,7 @@ msgstr "es el cociente de ``cumtime`` dividido por llamadas primitivas" #: ../Doc/library/profile.rst:105 msgid "filename:lineno(function)" -msgstr "filename:lineno(función)" +msgstr "filename:lineno(function)" #: ../Doc/library/profile.rst:105 msgid "provides the respective data of each function" diff --git a/library/runpy.po b/library/runpy.po index 6ae65649b9..6d25780380 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -77,7 +77,7 @@ msgid "" msgstr "" "Ejecute el código del módulo especificado y devuelva el diccionario de " "globales de módulo resultante. El código del módulo se encuentra primero " -"mediante el mecanismo de importación estándar (consulte :p ep:'302' para " +"mediante el mecanismo de importación estándar (consulte :pep:`302` para " "obtener más información) y, a continuación, se ejecuta en un espacio de " "nombres de módulo nuevo." @@ -204,10 +204,10 @@ msgid "" "name``." msgstr "" "Se ha actualizado para aprovechar la función de especificación de módulo " -"agregada por :pep:'451'. Esto permite que ''__cached__'' se establezca " +"agregada por :pep:`451`. Esto permite que ``__cached__`` se establezca " "correctamente para que los módulos se ejecuten de esta manera, así como " "asegurarse de que el nombre real del módulo siempre sea accesible como " -"''__spec__.name''." +"``__spec__.name``." #: ../Doc/library/runpy.rst:101 msgid "" @@ -222,8 +222,8 @@ msgstr "" "un nombre de script proporcionado a la línea de comandos de CPython, la ruta " "de acceso proporcionada puede hacer referencia a un archivo de origen de " "Python, un archivo de código de bytes compilado o una entrada sys.path " -"válida que contiene un módulo ''__main__'' (por ejemplo, un archivo zip que " -"contiene un archivo ''__main__.py'' de nivel superior)." +"válida que contiene un módulo ``__main__`` (por ejemplo, un archivo zip que " +"contiene un archivo ``__main__.py`` de nivel superior)." #: ../Doc/library/runpy.rst:107 msgid "" diff --git a/library/signal.po b/library/signal.po index 080a5dcccb..54a5619fb5 100644 --- a/library/signal.po +++ b/library/signal.po @@ -97,7 +97,7 @@ msgstr "" "const:`SIGSEGV` que son causados por una operación no válida en código C. " "Python retornará desde el gestor de señales a código C, que es probable que " "extienda la misma señal otra vez, ocasionando que Python se cuelgue " -"aparentente. Desde Python 3.3 en adelante, puedes usar el módulo :mod:" +"aparentemente. Desde Python 3.3 en adelante, puedes usar el módulo :mod:" "`faulthandler` para reportar errores síncronos." #: ../Doc/library/signal.rst:44 diff --git a/library/smtpd.po b/library/smtpd.po index 2c631452ea..7039b775dd 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -212,7 +212,8 @@ msgid "" msgstr "" "Las implementaciones de ``process_message`` deben usar la firma ``**kwargs`` " "para aceptar argumentos por palabra clave arbitrarios, ya que las mejoras de " -"características futuras pueden agregar claves al diccionario kwargs." +"características futuras pueden agregar claves al diccionario de argumentos " +"de palabras clave." #: ../Doc/library/smtpd.rst:101 msgid "" diff --git a/library/socket.po b/library/socket.po index 948cf572a5..164868da2a 100644 --- a/library/socket.po +++ b/library/socket.po @@ -1549,7 +1549,7 @@ msgid "" msgstr "" "Si se interrumpe la llamada del sistema y el controlador de señal no genera " "una excepción, el método ahora vuelve a intentar la llamada del sistema en " -"lugar de generar una excepción :exc:`InterruptedError` (consulte :p ep:`475` " +"lugar de generar una excepción :exc:`InterruptedError` (consulte :pep:`475` " "para la lógica)." #: ../Doc/library/socket.rst:1176 @@ -1642,8 +1642,8 @@ msgstr "" "El método ahora espera hasta que se completa la conexión en lugar de generar " "una excepción :exc:`InterruptedError` si la conexión se interrumpe por una " "señal, el controlador de señal no genera una excepción y el socket está " -"bloqueando o tiene un tiempo de espera (consulte el :p ep:`475` para la " -"razón de ser)." +"bloqueando o tiene un tiempo de espera (consulte el :pep:`475` para la razón " +"de ser)." #: ../Doc/library/socket.rst:1228 msgid "" @@ -1948,7 +1948,7 @@ msgstr "" "como :meth:`recvmsg` lo haría, pero dispersar los datos no auxiliares en una " "serie de buffers en lugar de devolver un nuevo objeto bytes. El argumento " "*buffers* debe ser un iterable de objetos que exportan buffers de escritura " -"(por ejemplo, :class:`bytearray` objects); estos se llenarán con fragmentos " +"(por ejemplo, objetos :class:`bytearray`); estos se llenarán con fragmentos " "sucesivos de los datos no auxiliares hasta que se hayan escrito todos o no " "haya más buffers. El sistema operativo puede establecer un límite (:func:" "`~os.sysconf` valor ``SC_IOV_MAX``) en el número de buffers que se pueden " diff --git a/library/ssl.po b/library/ssl.po index 554c05107c..f68e148004 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -6,27 +6,31 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.8\n" +"Project-Id-Version: Python 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-05-07 11:25+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Marcos Medrano \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" +"X-Poedit-Basepath: .\n" +# En el resto del documento, utilizo los términos en inglés "socket" (utilizado comunmente en español) y "wrapper" (que podría traducirse "envoltura" pero me parece mucho mas claro en inglés). #: ../Doc/library/ssl.rst:2 msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" -msgstr "" +msgstr ":mod:`ssl` --- TLS/SSL wrapper para objetos socket" #: ../Doc/library/ssl.rst:10 msgid "**Source code:** :source:`Lib/ssl.py`" -msgstr "" +msgstr "**Código fuente:** :source:'Lib/ssl.py'" #: ../Doc/library/ssl.rst:18 msgid "" @@ -37,7 +41,15 @@ msgid "" "X, and probably additional platforms, as long as OpenSSL is installed on " "that platform." msgstr "" +"Este módulo provee acceso al cifrado de la Seguridad de la capa de " +"transporte (conocida también como \"Secure Sockets Layer\") y a facilidades " +"de autenticación para sockets de red, tanto para el lado del cliente como " +"para el lado del servidor. Este módulo utiliza la biblioteca OpenSSL. Está " +"disponible en todos los sistemas Unix modernos, Windows, Max OS X, y " +"probablemente en plataformas adicionales, siempre y cuando OpenSSL esté " +"instalada en esa plataforma." +# El último "openssl" lo traduzco "OpenSSL" por cohérencia con el resto de la documentación. #: ../Doc/library/ssl.rst:26 msgid "" "Some behavior may be platform dependent, since calls are made to the " @@ -45,6 +57,10 @@ msgid "" "cause variations in behavior. For example, TLSv1.1 and TLSv1.2 come with " "openssl version 1.0.1." msgstr "" +"Algunos comportamientos pueden depender de la plataforma, dado que las " +"llamadas se realizan a las API de socket del sistema operativo. La versión " +"de OpenSSL instalada puede también causar variaciones en el comportamiento. " +"Por ejemplo, TLSv1.1 y TLSv1.2 vienen con la versión 1.0.1 de OpenSSL." #: ../Doc/library/ssl.rst:32 msgid "" @@ -52,6 +68,9 @@ msgid "" "lead to a false sense of security, as the default settings of the ssl module " "are not necessarily appropriate for your application." msgstr "" +"No utilice este módulo sin leer :ref:`ssl-security`. Hacerlo puede dar lugar " +"a una falsa sensación de seguridad ya que los ajustes por defecto del módulo " +"ssl no son necesariamente adecuados para su aplicación." #: ../Doc/library/ssl.rst:37 msgid "" @@ -59,6 +78,9 @@ msgid "" "more general information about TLS, SSL, and certificates, the reader is " "referred to the documents in the \"See Also\" section at the bottom." msgstr "" +"Esta sección documenta los objetos y funciones del módulo ``ssl``; para " +"obtener información mas general sobre TLS, SSL, y certificados, el lector es " +"referido a los documentos de la sección \"Ver también\" en la parte inferior." #: ../Doc/library/ssl.rst:41 msgid "" @@ -69,6 +91,12 @@ msgid "" "certificate of the other side of the connection, and :meth:`cipher`, which " "retrieves the cipher being used for the secure connection." msgstr "" +"Este módulo proporciona una clase, :class:`ssl.SSLSocket`, que deriva del " +"tipo :class:`socket.socket`, y proporciona un wrapper tipo socket que " +"también cifra y descifra los datos que pasan por el socket con SSL. Soporta " +"métodos adicionales como :meth:`getpeercert`, el cual recupera el " +"certificado del otro lado de la conexión, y :meth:`cipher`, que recupera el " +"cifrado que se está utilizando para la conexión segura." #: ../Doc/library/ssl.rst:48 msgid "" @@ -76,25 +104,32 @@ msgid "" "manage settings and certificates, which can then be inherited by SSL sockets " "created through the :meth:`SSLContext.wrap_socket` method." msgstr "" +"Para aplicaciones mas sofisticadas, la clase :class:`ssl.SSLContext` ayuda a " +"gestionar los ajustes y los certificados, los cuales pueden luego ser " +"heredados por sockets SSL creados a través del método :meth:`SSLContext." +"wrap_socket`." #: ../Doc/library/ssl.rst:52 msgid "Updated to support linking with OpenSSL 1.1.0" -msgstr "" +msgstr "Actualizado para soportar enlace con OpenSSL 1.1.0" #: ../Doc/library/ssl.rst:57 msgid "" "OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " "the future the ssl module will require at least OpenSSL 1.0.2 or 1.1.0." msgstr "" +"OpenSSL 0.9.8, 1.0.0 y 1.0.1 son obsoletos y no son compatibles. En el " +"futuro, el módulo ssl requerirá al menos OpenSSL 1.0.2 o 1.1.0." #: ../Doc/library/ssl.rst:63 msgid "Functions, Constants, and Exceptions" -msgstr "" +msgstr "Funciones, constantes y excepciones" #: ../Doc/library/ssl.rst:67 msgid "Socket creation" -msgstr "" +msgstr "Creación de sockets" +# el término en inglés "hostname matching" me parece mucho mas claro que cualquier traducción al español ("coincidencia de nombres de anfitrión" ?) #: ../Doc/library/ssl.rst:69 msgid "" "Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." @@ -104,28 +139,38 @@ msgid "" "`wrap_socket` function is deprecated since it is both inefficient and has no " "support for server name indication (SNI) and hostname matching." msgstr "" +"Desde Python 3.2 y 2.7.9, se recomienda utilizar :meth:`SSLContext." +"wrap_socket` de una instancia de :class:`SSLContext` para envolver sockets " +"como objetos :class:`SSLSocket`. La función utilitaria :func:" +"`create_default_context` retorna un nuevo contexto con ajustes por defecto " +"seguros. La vieja función :func:`wrap_socket` es obsoleta debido a que es " +"ineficiente y que no tiene soporte para la indicación de nombre de servidor " +"(SNI) ni hostname matching." #: ../Doc/library/ssl.rst:77 msgid "Client socket example with default context and IPv4/IPv6 dual stack::" msgstr "" +"Ejemplo de socket cliente con contexto por defecto y doble pila IPv4/IPv6::" #: ../Doc/library/ssl.rst:90 msgid "Client socket example with custom context and IPv4::" -msgstr "" +msgstr "Ejemplo de socket cliente con contexto personalizado y IPv4::" #: ../Doc/library/ssl.rst:102 msgid "Server socket example listening on localhost IPv4::" -msgstr "" +msgstr "Ejemplo de socket servidor escuchando en localhost IPv4::" #: ../Doc/library/ssl.rst:116 msgid "Context creation" -msgstr "" +msgstr "Creación de contexto" #: ../Doc/library/ssl.rst:118 msgid "" "A convenience function helps create :class:`SSLContext` objects for common " "purposes." msgstr "" +"Una función conveniente ayuda a crear objetos :class:`SSLContext` para " +"propósitos comunes." #: ../Doc/library/ssl.rst:123 msgid "" @@ -134,6 +179,10 @@ msgid "" "represent a higher security level than when calling the :class:`SSLContext` " "constructor directly." msgstr "" +"Retorna un nuevo objeto :class:`SSLContext` con ajustes por defecto para el " +"*purpose* dado. Los ajustes son elegidos por el módulo :mod:`ssl` y " +"generalmente representan un nivel de seguridad mas alto que invocando " +"directamente el constructor de :class:`SSLContext`." #: ../Doc/library/ssl.rst:128 msgid "" @@ -142,6 +191,11 @@ msgid "" "If all three are :const:`None`, this function can choose to trust the " "system's default CA certificates instead." msgstr "" +"*cafile*, *capath*, *cadata* representan certificados CA opcionales para " +"confiar en la verificación de certificados, como en :meth:`SSLContext." +"load_verify_locations`. Si los tres son :const:`None` al mismo tiempo, esta " +"función puede optar por confiar en su lugar en los certificados CA por " +"defecto del sistema." #: ../Doc/library/ssl.rst:134 msgid "" @@ -153,6 +207,13 @@ msgid "" "*cadata* is given) or uses :meth:`SSLContext.load_default_certs` to load " "default CA certificates." msgstr "" +"Los ajustes son: :data:`PROTOCOL_TLS`, :data:`OP_NO_SSLv2` y :data:" +"`OP_NO_SSLv3` con suites de cifrado de alto nivel sin RC4 y sin suites de " +"cifrado sin autentificar. Pasar :data:`~Purpose.SERVER_AUTH` como *purpose* " +"establece :data:`~SSLContext.verify_mode` a :data:`CERT_REQUIRED` y carga " +"los certificados CA (si al menos uno de *cafile*, *capath* o *cadata* es " +"dado) o usa :meth:`SSLContext.load_default_certs` para cargar los " +"certificados CA por defecto." #: ../Doc/library/ssl.rst:142 msgid "" @@ -160,6 +221,9 @@ msgid "" "variable :envvar:`SSLKEYLOGFILE` is set, :func:`create_default_context` " "enables key logging." msgstr "" +"Cuando :attr:`~SSLContext.keylog_filename` es soportado y la variable de " +"entorno :envvar:`SSLKEYLOGFILE` está establecida, :func:" +"`create_default_context` activa el registro de claves." #: ../Doc/library/ssl.rst:147 msgid "" @@ -167,13 +231,20 @@ msgid "" "restrictive values anytime without prior deprecation. The values represent " "a fair balance between compatibility and security." msgstr "" +"El protocolo, las opciones, el cifrado y otros ajustes pueden cambiar a " +"valores mas restrictivos en cualquier momento sin previa obsolescencia. Los " +"valores representan un equilibrio justo entre compatibilidad y seguridad." #: ../Doc/library/ssl.rst:151 msgid "" "If your application needs specific settings, you should create a :class:" "`SSLContext` and apply the settings yourself." msgstr "" +"Si su aplicación necesita ajustes específicos, debe crear un :class:" +"`SSLContext` y aplicar los ajustes usted mismo." +# Es necesario traducir los mensajes de error ? +# ("Protocol or cipher suite mismatch") #: ../Doc/library/ssl.rst:155 msgid "" "If you find that when certain older clients or servers attempt to connect " @@ -184,26 +255,38 @@ msgid "" "org/wiki/POODLE>`_. If you still wish to continue to use this function but " "still allow SSL 3.0 connections you can re-enable them using::" msgstr "" +"Si encuentra que cuando ciertos clientes o servidores antiguos intentan " +"conectarse con un :class:`SSLContext` creado con esta función obtienen un " +"error indicando *Protocol or cipher suite mismatch*, puede ser que estos " +"sólo soportan SSL3.0 el cual esta función excluye utilizando :data:" +"`OP_NO_SSLv3`. SSL3.0 está ampliamente considerado como `completamente roto " +"`_. Si todavía desea seguir utilizando " +"esta función pero permitir conexiones SSL 3.0, puede volver a activarlas " +"mediante::" #: ../Doc/library/ssl.rst:171 msgid "RC4 was dropped from the default cipher string." -msgstr "" +msgstr "RC4 ha sido abandonado de la cadena de cifrado por defecto." #: ../Doc/library/ssl.rst:175 msgid "ChaCha20/Poly1305 was added to the default cipher string." msgstr "" +"ChaCha20/Poly1305 ha sido agregado a la cadena de caracteres de cifrado por " +"defecto." #: ../Doc/library/ssl.rst:177 msgid "3DES was dropped from the default cipher string." msgstr "" +"3DES ha sido abandonado de la cadena de caracteres de cifrado por defecto." #: ../Doc/library/ssl.rst:181 msgid "Support for key logging to :envvar:`SSLKEYLOGFILE` was added." msgstr "" +"Soporte del registro de claves en :envvar:`SSLKEYLOGFILE` ha sido agregado." #: ../Doc/library/ssl.rst:185 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" #: ../Doc/library/ssl.rst:189 msgid "" @@ -214,10 +297,16 @@ msgid "" "The error code and message of :exc:`SSLError` instances are provided by the " "OpenSSL library." msgstr "" +"Se lanza para señalar un error de la implementación de SSL subyacente " +"(actualmente proporcionada por la biblioteca OpenSSL). Esto indica algún " +"problema en la capa de cifrado y autenticación de alto nivel que se " +"superpone a la conexión de red subyacente. Este error es un subtipo de :exc:" +"`OSError`. El código de error y el mensaje de las instancias de :exc:" +"`SSLError` son proporcionados por la biblioteca OpenSSL." #: ../Doc/library/ssl.rst:196 msgid ":exc:`SSLError` used to be a subtype of :exc:`socket.error`." -msgstr "" +msgstr ":exc:`SSLError` era un subtipo de :exc:`socket.error`." #: ../Doc/library/ssl.rst:201 msgid "" @@ -225,6 +314,9 @@ msgid "" "occurred, such as ``SSL``, ``PEM`` or ``X509``. The range of possible " "values depends on the OpenSSL version." msgstr "" +"Una cadena de caracteres mnemotécnica que designa el submódulo de OpenSSL en " +"el que se ha producido el error, como ``SSL``, ``PEM`` o ``X509``. El rango " +"de valores posibles depende de la versión de OpenSSL." #: ../Doc/library/ssl.rst:209 msgid "" @@ -232,6 +324,9 @@ msgid "" "``CERTIFICATE_VERIFY_FAILED``. The range of possible values depends on the " "OpenSSL version." msgstr "" +"Una cadena de caracteres mnemotécnica que designa la razón por la que se " +"produjo el error, por ejemplo ``CERTIFICATE_VERIFY_FAILED``. El rango de " +"valores posibles depende de la versión de OpenSSL." #: ../Doc/library/ssl.rst:217 msgid "" @@ -239,6 +334,9 @@ msgid "" "SSL connection has been closed cleanly. Note that this doesn't mean that " "the underlying transport (read TCP) has been closed." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando se intenta leer o escribir y " +"la conexión SSL ha sido cerrada limpiamente. Tenga en cuenta que esto no " +"significa que el transporte subyacente (lectura TCP) haya sido cerrado." #: ../Doc/library/ssl.rst:225 msgid "" @@ -246,6 +344,10 @@ msgid "" "nonblocking>` when trying to read or write data, but more data needs to be " "received on the underlying TCP transport before the request can be fulfilled." msgstr "" +"Una subclase de :exc:`SSLError` lanzada por un :ref:`socket SSL no " +"bloqueante ` cuando se intenta leer o escribir datos, pero " +"mas datos necesitan ser recibidos en el transporte TCP subyacente antes de " +"que la solicitud pueda ser completada." #: ../Doc/library/ssl.rst:234 msgid "" @@ -253,6 +355,10 @@ msgid "" "nonblocking>` when trying to read or write data, but more data needs to be " "sent on the underlying TCP transport before the request can be fulfilled." msgstr "" +"Una subclase de :exc:`SSLError` lanzada por un :ref:`socket SSL no " +"bloqueante ` cuando se intenta leer o escribir datos, pero " +"mas datos necesitan ser enviados en el transporte TCP subyacente antes de " +"que la solicitud pueda ser completada." #: ../Doc/library/ssl.rst:243 msgid "" @@ -260,6 +366,9 @@ msgid "" "while trying to fulfill an operation on a SSL socket. Unfortunately, there " "is no easy way to inspect the original errno number." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando se encuentra un error del " +"sistema mientras se intenta completar una operación en un socket SSL. Por " +"desgracia, no hay una manera fácil de inspeccionar el número errno original." #: ../Doc/library/ssl.rst:251 msgid "" @@ -267,31 +376,36 @@ msgid "" "terminated abruptly. Generally, you shouldn't try to reuse the underlying " "transport when this error is encountered." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando la conexión SSL ha sido " +"cancelada abruptamente. Generalmente, no debería intentar reutilizar el " +"transporte subyacente cuando este error se produce." #: ../Doc/library/ssl.rst:259 msgid "" "A subclass of :exc:`SSLError` raised when certificate validation has failed." msgstr "" +"Una subclase de :exc:`SSLError` lanzada cuando la validación del certificado " +"ha fallado." #: ../Doc/library/ssl.rst:266 msgid "A numeric error number that denotes the verification error." -msgstr "" +msgstr "Un número de error numérico que indica el error de verificación." #: ../Doc/library/ssl.rst:270 msgid "A human readable string of the verification error." -msgstr "" +msgstr "Una cadena de caracteres legible del error de verificación." #: ../Doc/library/ssl.rst:274 msgid "An alias for :exc:`SSLCertVerificationError`." -msgstr "" +msgstr "Un alias para :exc:`SSLCertVerificationError`." #: ../Doc/library/ssl.rst:276 msgid "The exception is now an alias for :exc:`SSLCertVerificationError`." -msgstr "" +msgstr "La excepción es ahora un alias para :exc:`SSLCertVerificationError`." #: ../Doc/library/ssl.rst:281 msgid "Random generation" -msgstr "" +msgstr "Generación aleatoria" #: ../Doc/library/ssl.rst:285 msgid "" @@ -301,10 +415,15 @@ msgid "" "can be used to check the status of the PRNG and :func:`RAND_add` can be used " "to seed the PRNG." msgstr "" +"Retorna *num* bytes pseudoaleatorios criptográficamente fuertes. Lanza un :" +"class:`SSLError` si el PRNG no a sido sembrado con suficiente datos o si la " +"operación no es soportada por el método RAND actual. :func:`RAND_status` " +"puede ser usada para verificar el estado de PRNG y :func:`RAND_add` puede " +"ser usada para sembrar el PRNG." #: ../Doc/library/ssl.rst:291 ../Doc/library/ssl.rst:312 msgid "For almost all applications :func:`os.urandom` is preferable." -msgstr "" +msgstr "Para casi todas las aplicaciones :func:`os.urandom` es preferible." #: ../Doc/library/ssl.rst:293 msgid "" @@ -313,6 +432,11 @@ msgid "" "Cryptographically_secure_pseudorandom_number_generator>`_, to get the " "requirements of a cryptographically strong generator." msgstr "" +"Léase el artículo Wikipedia, `Generador de números pseudoaleatorios " +"criptográficamente seguro (CSPRNG) `_, para obtener los requisitos para un generador " +"criptográficamente seguro." #: ../Doc/library/ssl.rst:302 msgid "" @@ -321,6 +445,10 @@ msgid "" "strong. Raises an :class:`SSLError` if the operation is not supported by the " "current RAND method." msgstr "" +"Retorna (bytes, is_cryptographic): bytes es *num* bytes pseudoaleatorios, " +"is_cryptographic es ``True`` si los bytes generados son criptográficamente " +"fuertes. Lanza un :class:`SSLError` si la operación no es soportada por el " +"método RAND actual." #: ../Doc/library/ssl.rst:307 msgid "" @@ -329,12 +457,18 @@ msgid "" "for non-cryptographic purposes and for certain purposes in cryptographic " "protocols, but usually not for key generation etc." msgstr "" +"Las secuencias de bytes pseudoaleatorios generadas serán únicas si tienen " +"una longitud suficiente, pero no son necesariamente impredecibles. Pueden " +"utilizarse para fines no criptográficos y para ciertos fines en protocolos " +"criptográficos, pero normalmente no para la generación de claves, etc." #: ../Doc/library/ssl.rst:318 msgid "" "OpenSSL has deprecated :func:`ssl.RAND_pseudo_bytes`, use :func:`ssl." "RAND_bytes` instead." msgstr "" +"OpenSSL a dejado obsoleta :func:`ssl.RAND_pseudo_bytes`, utilice :func:`ssl." +"RAND_bytes` en su lugar." #: ../Doc/library/ssl.rst:323 msgid "" @@ -343,6 +477,10 @@ msgid "" "RAND_egd` and :func:`ssl.RAND_add` to increase the randomness of the pseudo-" "random number generator." msgstr "" +"Retorna ``True`` si el generador de números pseudoaleatorios SSL a sido " +"sembrado con 'suficiente' aleatoriedad, y ``False`` de lo contrario. Puede " +"utilizarse :func:`ssl.RAND_egd` y :func:`ssl.RAND_add` para aumentar la " +"aleatoriedad del generador de números pseudoaleatorios." #: ../Doc/library/ssl.rst:330 msgid "" @@ -352,18 +490,28 @@ msgid "" "generator to increase the security of generated secret keys. This is " "typically only necessary on systems without better sources of randomness." msgstr "" +"Si está ejecutando un daemon de recolección de entropía (EGD) en algún " +"lugar, y *path* es la ruta de una conexión de socket abierta a él, esto " +"leerá 256 bytes de aleatoriedad del socket, y lo añadirá al generador de " +"números pseudoaleatorios de SSL para aumentar la seguridad de las claves " +"secretas generadas. Esto suele ser necesario sólo en sistemas sin mejores " +"fuentes de aleatoriedad." #: ../Doc/library/ssl.rst:336 msgid "" "See http://egd.sourceforge.net/ or http://prngd.sourceforge.net/ for sources " "of entropy-gathering daemons." msgstr "" +"Véase http://egd.sourceforge.net/ o http://prngd.sourceforge.net/ para " +"fuentes de daemons de recolección de entropía (EGD)." #: ../Doc/library/ssl.rst:339 msgid "" ":ref:`Availability `: not available with LibreSSL and OpenSSL " "> 1.1.0." msgstr "" +":ref:`Disponibilidad `: no disponible con LibreSSL y OpenSSL > " +"1.1.0." #: ../Doc/library/ssl.rst:343 msgid "" @@ -372,14 +520,19 @@ msgid "" "string (so you can always use :const:`0.0`). See :rfc:`1750` for more " "information on sources of entropy." msgstr "" +"Mezcla los *bytes* dados en el generador de números pseudoaleatorios de SSL. " +"El parámetro *entropy* (un flotante) es un límite inferior de la entropía " +"contenida en la cadena de caracteres (por lo que siempre se puede utilizar :" +"const:`0.0`). Véase :rfc:`1750` para mas información sobre las fuentes de " +"entropía." #: ../Doc/library/ssl.rst:348 msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" +msgstr "Ahora se acepta :term:`bytes-like object` modificable." #: ../Doc/library/ssl.rst:352 msgid "Certificate handling" -msgstr "" +msgstr "Gestión de certificados" #: ../Doc/library/ssl.rst:360 msgid "" @@ -390,12 +543,20 @@ msgid "" "suitable for checking the identity of servers in various SSL-based protocols " "such as FTPS, IMAPS, POPS and others." msgstr "" +"Verifica que *cert* (en formato decodificado tal y como es retornado por :" +"meth:`SSLSocket.getpeercert`) coincide con el *hostname* dado. Las reglas " +"aplicadas son las de comprobación de la identidad de los servidores HTTPS, " +"como se indica en :rfc:`2818`, :rfc:`5280` y :rfc:`6125`. Además de HTTPS, " +"esta función debería ser adecuada para comprobar la identidad de servidores " +"en varios protocolos basados en SSL como FTPS, IMAPS, POPS y otros." #: ../Doc/library/ssl.rst:367 msgid "" ":exc:`CertificateError` is raised on failure. On success, the function " "returns nothing::" msgstr "" +":exc:`CertificateError` es lanzado en caso de error. En caso de éxito, la " +"función no retorna nada::" #: ../Doc/library/ssl.rst:380 msgid "" @@ -405,24 +566,37 @@ msgid "" "as ``www*.xn--pthon-kva.org`` are still supported, but ``x*.python.org`` no " "longer matches ``xn--tda.python.org``." msgstr "" +"La función ahora sigue :rfc:`6125` sección 6.4.3 y no soporta múltiples " +"caracteres comodín (por ejemplo ``*.*.com`` o ``*a*.example.org``) ni " +"tampoco un carácter comodín dentro de un fragmento de un nombre de dominio " +"internacionalizado (IDN). Etiquetas A de IDN tales como ``www*.xn--pthon-kva." +"org`` son todavía soportadas, pero ``x*.python.org`` ya no corresponde con " +"``xn--tda.python.org``." #: ../Doc/library/ssl.rst:387 msgid "" "Matching of IP addresses, when present in the subjectAltName field of the " "certificate, is now supported." msgstr "" +"Ahora se admite la coincidencia de direcciones IP cuando están presentes en " +"el campo subjectAltName del certificado." #: ../Doc/library/ssl.rst:391 msgid "" "The function is no longer used to TLS connections. Hostname matching is now " "performed by OpenSSL." msgstr "" +"La función ya no se utiliza para las conexiones TLS. La coincidencia de " +"hostname es ahora realizada por OpenSSL." #: ../Doc/library/ssl.rst:395 msgid "" "Allow wildcard when it is the leftmost and the only character in that " "segment. Partial wildcards like ``www*.example.com`` are no longer supported." msgstr "" +"Se permite el carácter comodín cuando es el carácter más a la izquierda y el " +"único en ese segmento. Ya no se admiten comodines parciales como ``www*." +"example.com`` ." #: ../Doc/library/ssl.rst:403 #, python-format @@ -431,14 +605,17 @@ msgid "" "representing the \"notBefore\" or \"notAfter\" date from a certificate in ``" "\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." msgstr "" +"Retorna el tiempo en segundos desde la Época, dada la cadena de caracteres " +"``cert_time`` que representa la fecha *notBefore* o *notAfter* de un " +"certificado en formato strptime ``\"%b %d %H:%M:%S %Y %Z\"`` (C locale)." #: ../Doc/library/ssl.rst:408 msgid "Here's an example:" -msgstr "" +msgstr "He aquí un ejemplo:" #: ../Doc/library/ssl.rst:420 msgid "\"notBefore\" or \"notAfter\" dates must use GMT (:rfc:`5280`)." -msgstr "" +msgstr "Las fechas *notBefore* o *notAfter* deben utilizar GMT (:rfc:`5280`)." #: ../Doc/library/ssl.rst:422 msgid "" @@ -446,6 +623,10 @@ msgid "" "the input string. Local timezone was used previously. Return an integer (no " "fractions of a second in the input format)" msgstr "" +"Interpreta la hora de entrada como una hora en UTC según lo especificado por " +"la zona horaria 'GMT' en la cadena de caracteres de entrada. Anteriormente " +"se utilizaba la zona horaria local. Devuelve un número entero (sin " +"fracciones de segundo en el formato de entrada)" #: ../Doc/library/ssl.rst:430 msgid "" @@ -459,28 +640,43 @@ msgid "" "against that set of root certificates, and will fail if the validation " "attempt fails." msgstr "" +"Dada la dirección ``addr`` de un servidor protegido con SSL, como un par " +"(*hostname*, *port-number*), obtiene el certificado del servidor, y lo " +"retorna como una cadena de caracteres codificada en PEM. Si se especifica " +"``ssl_version``, utiliza esta versión del protocolo SSL para intentar " +"conectarse al servidor. Si se especifica ``ca_certs``, debe ser un archivo " +"que contenga una lista de certificados raíz, con el mismo formato que se " +"utiliza para el mismo parámetro en :meth:`SSLContext.wrap_socket`. La " +"llamada intentará validar el certificado del servidor contra ese conjunto de " +"certificados raíz, y fallará si el intento de validación falla." #: ../Doc/library/ssl.rst:440 msgid "This function is now IPv6-compatible." -msgstr "" +msgstr "Esta función es ahora compatible IPv6." #: ../Doc/library/ssl.rst:443 msgid "" "The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` to :data:" "`PROTOCOL_TLS` for maximum compatibility with modern servers." msgstr "" +"La *ssl_version* por defecto se cambia de :data:`PROTOCOL_SSLv3` a :data:" +"`PROTOCOL_TLS` para una máxima compatibilidad con los servidores modernos." #: ../Doc/library/ssl.rst:449 msgid "" "Given a certificate as a DER-encoded blob of bytes, returns a PEM-encoded " "string version of the same certificate." msgstr "" +"Dado un certificado como blob de bytes codificado en DER, devuelve una " +"versión de cadena de caracteres codificada en PEM del mismo certificado." #: ../Doc/library/ssl.rst:454 msgid "" "Given a certificate as an ASCII PEM string, returns a DER-encoded sequence " "of bytes for that same certificate." msgstr "" +"Dado un certificado como cadena de caracteres ASCII PEM, devuelve una " +"secuencia de bytes codificada con DER para ese mismo certificado." #: ../Doc/library/ssl.rst:459 msgid "" @@ -488,44 +684,61 @@ msgid "" "paths are the same as used by :meth:`SSLContext.set_default_verify_paths`. " "The return value is a :term:`named tuple` ``DefaultVerifyPaths``:" msgstr "" +"Retorna una tupla con nombre con las rutas por defecto de cafile y capath de " +"OpenSSL. Las rutas son las mismas que las usadas por :meth:`SSLContext." +"set_default_verify_paths`. El valor de retorno es una :term:`named tuple` " +"``DefaultVerifyPaths``:" #: ../Doc/library/ssl.rst:464 msgid "" ":attr:`cafile` - resolved path to cafile or ``None`` if the file doesn't " "exist," msgstr "" +":attr:`cafile` - ruta resuelta a cafile o ``None`` si el archivo no existe," #: ../Doc/library/ssl.rst:465 msgid "" ":attr:`capath` - resolved path to capath or ``None`` if the directory " "doesn't exist," msgstr "" +":attr:`capath` - ruta resuelta a capath o ``None`` si el directorio no " +"existe," #: ../Doc/library/ssl.rst:466 msgid "" ":attr:`openssl_cafile_env` - OpenSSL's environment key that points to a " "cafile," msgstr "" +":attr:`openssl_cafile_env` - clave de entorno de OpenSSL que apunta a un " +"cafile," +# Como traducir "hard coded path" ? +# "ruta hardcodeada" ? +# "ruta preseteada" ? +# "ruta predefinida" ? #: ../Doc/library/ssl.rst:467 msgid ":attr:`openssl_cafile` - hard coded path to a cafile," -msgstr "" +msgstr ":attr:`openssl_cafile` - hard-coded ruta a un cafile," #: ../Doc/library/ssl.rst:468 msgid "" ":attr:`openssl_capath_env` - OpenSSL's environment key that points to a " "capath," msgstr "" +":attr:`openssl_capath_env` - clave de entorno de OpenSSL que apunta a un " +"capath," #: ../Doc/library/ssl.rst:469 msgid ":attr:`openssl_capath` - hard coded path to a capath directory" -msgstr "" +msgstr ":attr:`openssl_capath` - hard-coded ruta a un directorio capath" #: ../Doc/library/ssl.rst:473 msgid "" ":ref:`Availability `: LibreSSL ignores the environment vars :" "attr:`openssl_cafile_env` and :attr:`openssl_capath_env`." msgstr "" +":ref:`Disponibilidad `: LibreSSL ignora las variables de " +"entorno :attr:`openssl_cafile_env` y :attr:`openssl_capath_env`." #: ../Doc/library/ssl.rst:478 msgid "" @@ -533,6 +746,10 @@ msgid "" "one of ``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert " "stores, too." msgstr "" +"Recupera los certificados del almacén de certificados del sistema de " +"Windows. *store_name* puede ser uno de los siguientes: ``CA``, ``ROOT`` o " +"``MY``. Windows también puede proporcionar almacenes de certificados " +"adicionales." #: ../Doc/library/ssl.rst:482 msgid "" @@ -542,21 +759,30 @@ msgid "" "data. Trust specifies the purpose of the certificate as a set of OIDS or " "exactly ``True`` if the certificate is trustworthy for all purposes." msgstr "" +"La función devuelve una lista de tuplas (cert_bytes, encoding_type, trust). " +"El encoding_type especifica la codificación de cert_bytes. Es :const:" +"`x509_asn` para datos X.509 ASN.1 o :const:`pkcs_7_asn` para datos PKCS#7 " +"ASN.1. Trust especifica el propósito del certificado como un conjunto de " +"OIDS o exactamente ``True`` si el certificado es de confianza para todos los " +"propósitos." #: ../Doc/library/ssl.rst:489 ../Doc/library/ssl.rst:1577 #: ../Doc/library/ssl.rst:1892 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/library/ssl.rst:496 ../Doc/library/ssl.rst:511 msgid ":ref:`Availability `: Windows." -msgstr "" +msgstr ":ref:`Disponibilidad `: Windows." #: ../Doc/library/ssl.rst:501 msgid "" "Retrieve CRLs from Windows' system cert store. *store_name* may be one of " "``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert stores, too." msgstr "" +"Obtiene CRLs del almacén de certificados del sistema de Windows. " +"*store_name* puede ser uno de los siguientes: ``CA``, ``ROOT`` o ``MY``. " +"Windows también puede proporcionar almacenes de certificados adicionales." #: ../Doc/library/ssl.rst:505 msgid "" @@ -564,6 +790,10 @@ msgid "" "The encoding_type specifies the encoding of cert_bytes. It is either :const:" "`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 data." msgstr "" +"La función devuelve una lista de tuplas (cert_bytes, encoding_type, trust). " +"El encoding_type especifica la codificación de cert_bytes. Es :const:" +"`x509_asn` para datos X.509 ASN.1 o :const:`pkcs_7_asn` para datos PKCS#7 " +"ASN.1." #: ../Doc/library/ssl.rst:519 msgid "" @@ -572,6 +802,10 @@ msgid "" "which wraps the underlying socket in an SSL context. ``sock`` must be a :" "data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" +"Toma una instancia ``sock`` de :class:`socket.socket`, y devuelve una " +"instancia de :class:`ssl.SSLSocket`, un subtipo de :class:`socket.socket`, " +"que envuelve el socket de base en un contexto SSL. ``sock`` debe ser un " +"socket :data:`~socket.SOCK_STREAM`; otros tipos de socket no son compatibles." #: ../Doc/library/ssl.rst:524 msgid "" @@ -581,6 +815,11 @@ msgid "" "values are passed to :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext." "load_verify_locations`, and :meth:`SSLContext.set_ciphers`." msgstr "" +"Internamente, la función crea un :class:`SSLContext` con un protocolo " +"*ssl_version* y :attr:`SSLContext.options` establecido a *cert_reqs*. Si los " +"parámetros *keyfile*, *certfile*, *ca_certs* o *ciphers* son establecidos, " +"entonces los valores son pasados a :meth:`SSLContext.load_cert_chain`, :meth:" +"`SSLContext.load_verify_locations`, y :meth:`SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:531 msgid "" @@ -588,6 +827,9 @@ msgid "" "*suppress_ragged_eofs* have the same meaning as :meth:`SSLContext." "wrap_socket`." msgstr "" +"Los argumentos *server_side*, *do_handshake_on_connect*, y " +"*supress_ragged_eofs* tienen el mismo significado que :meth:`SSLContext." +"wrap_socket`." #: ../Doc/library/ssl.rst:537 msgid "" @@ -596,16 +838,22 @@ msgid "" "limited and creates an insecure client socket without server name indication " "or hostname matching." msgstr "" +"Desde Python 3.2 y 2.7.9, se recomienda usar :meth:`SSLContext.wrap_socket` " +"en lugar de :func:`wrap_socket`. La función de alto nivel tiene limitaciones " +"y crea un socket cliente no seguro sin indicación de nombre de servidor ni " +"hostname matching." #: ../Doc/library/ssl.rst:543 msgid "Constants" -msgstr "" +msgstr "Constantes" #: ../Doc/library/ssl.rst:545 msgid "" "All constants are now :class:`enum.IntEnum` or :class:`enum.IntFlag` " "collections." msgstr "" +"Todas las constantes son ahora colecciones :class:`enum.IntEnum` o :class:" +"`enum.IntFlag`." #: ../Doc/library/ssl.rst:551 msgid "" @@ -615,16 +863,25 @@ msgid "" "accepted. Validation errors, such as untrusted or expired cert, are ignored " "and do not abort the TLS/SSL handshake." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. A excepción de :const:" +"`PROTOCOL_TLS_CLIENT`, es el modo por defecto. Con sockets del lado del " +"cliente, se acepta casi cualquier certificado. Errores de validación, como " +"certificado no confiable o caducado, son ignorados y no abortan el handshake " +"TLS/SSL." #: ../Doc/library/ssl.rst:557 msgid "" "In server mode, no certificate is requested from the client, so the client " "does not send any for client cert authentication." msgstr "" +"En modo servidor, no se solicita ningún certificado al cliente, por lo que " +"el cliente no envía ninguno para la autenticación del certificado del " +"cliente." #: ../Doc/library/ssl.rst:560 ../Doc/library/ssl.rst:2317 msgid "See the discussion of :ref:`ssl-security` below." -msgstr "" +msgstr "Vea la discusión sobre :ref:`ssl-security` más abajo." #: ../Doc/library/ssl.rst:564 msgid "" @@ -633,6 +890,11 @@ msgid "" "has the same meaning as :const:`CERT_REQUIRED`. It is recommended to use :" "const:`CERT_REQUIRED` for client-side sockets instead." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. En modo cliente, :const:" +"`CERT_OPTIONAL` tiene el mismo significado que :const:`CERT_REQUIRED`. Se " +"recomienda usar en su lugar :const:`CERT_REQUIRED` para sockets del lado del " +"cliente." #: ../Doc/library/ssl.rst:569 msgid "" @@ -642,6 +904,11 @@ msgid "" "certificate, it is verified. Any verification error immediately aborts the " "TLS handshake." msgstr "" +"En el modo servidor, se envía una solicitud de certificado de cliente al " +"cliente. El cliente puede ignorar la solicitud o enviar un certificado para " +"realizar la autenticación de certificado de cliente TLS. Si el cliente opta " +"por enviar un certificado, éste se verifica. Cualquier error de verificación " +"aborta inmediatamente el handshake TLS." #: ../Doc/library/ssl.rst:575 ../Doc/library/ssl.rst:595 msgid "" @@ -649,6 +916,9 @@ msgid "" "either to :meth:`SSLContext.load_verify_locations` or as a value of the " "``ca_certs`` parameter to :func:`wrap_socket`." msgstr "" +"El uso de esta configuración requiere que se pase un conjunto válido de " +"certificados de CA, ya sea a :meth:`SSLContext.load_verify_locations` o como " +"valor del parámetro ``ca_certs`` de :func:`wrap_socket`." #: ../Doc/library/ssl.rst:581 msgid "" @@ -662,6 +932,15 @@ msgid "" "const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` by " "default." msgstr "" +"Valor posible para :attr:`SSLContext.verify_mode`, o el parámetro " +"``cert_reqs`` de :func:`wrap_socket`. En este modo, se requieren " +"certificados del otro lado de la conexión del socket; se lanzará un :class:" +"`SSLError` si no se proporciona ningún certificado, o si su validación " +"falla. Este modo **no** es suficiente para verificar un certificado en modo " +"cliente, ya que no coincide con los hostnames. :attr:`~SSLContext." +"check_hostname` debe estar activado también para verificar la autenticidad " +"de un certificado. :const:`PROTOCOL_TLS_CLIENT` utiliza :const:" +"`CERT_REQUIRED` y activa :attr:`~SSLContext.check_hostname` por defecto." #: ../Doc/library/ssl.rst:591 msgid "" @@ -669,10 +948,14 @@ msgid "" "authentication. A client certificate request is sent to the client and the " "client must provide a valid and trusted certificate." msgstr "" +"Con socket servidor, este modo proporciona una autenticación obligatoria de " +"certificado de cliente TLS. Se envía una solicitud de certificado de cliente " +"al cliente y el cliente debe proporcionar un certificado válido y de " +"confianza." #: ../Doc/library/ssl.rst:601 msgid ":class:`enum.IntEnum` collection of CERT_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes CERT_*." #: ../Doc/library/ssl.rst:607 msgid "" @@ -680,6 +963,9 @@ msgid "" "certificate revocation lists (CRLs) are not checked. By default OpenSSL does " "neither require nor verify CRLs." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, las listas " +"de revocación de certificado (CRLs) no son verificadas. Por defecto OpenSSL " +"no requiere ni verifica CRLs." #: ../Doc/library/ssl.rst:615 msgid "" @@ -689,18 +975,29 @@ msgid "" "ancestor CA). If no proper CRL has been loaded with :attr:`SSLContext." "load_verify_locations`, validation will fail." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, sólo el " +"certificado de pares es verificado pero ninguno de los certificados CA " +"intermedios. El modo requiere una CRL válida que esté firmada por el emisor " +"del certificado de pares (su CA antecesora directa). Si no se ha cargado una " +"CRL adecuada con :attr:`SSLContext.load_verify_locations`, la validación " +"fallará." #: ../Doc/library/ssl.rst:625 msgid "" "Possible value for :attr:`SSLContext.verify_flags`. In this mode, CRLs of " "all certificates in the peer cert chain are checked." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. En este modo, las CRLs " +"de todos los certificados en la cadena de certificado de pares son " +"verificadas." #: ../Doc/library/ssl.rst:632 msgid "" "Possible value for :attr:`SSLContext.verify_flags` to disable workarounds " "for broken X.509 certificates." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags` para desactivar " +"soluciones alternativas para certificados X.509 rotos." #: ../Doc/library/ssl.rst:639 msgid "" @@ -708,10 +1005,13 @@ msgid "" "prefer trusted certificates when building the trust chain to validate a " "certificate. This flag is enabled by default." msgstr "" +"Valor posible para :attr:`SSLContext.verify_flags`. Indica a OpenSSL de " +"preferir certificados de confianza al construir la cadena de confianza para " +"validar un certificado. Esta opción está activada por defecto." #: ../Doc/library/ssl.rst:647 msgid ":class:`enum.IntFlag` collection of VERIFY_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntFlag` de constantes VERIFY_*." #: ../Doc/library/ssl.rst:653 msgid "" @@ -719,6 +1019,9 @@ msgid "" "support. Despite the name, this option can select both \"SSL\" and \"TLS\" " "protocols." msgstr "" +"Selecciona la versión mas alta del protocolo soportada tanto por el cliente " +"como por el servidor. A pesar de su nombre, esta opción puede seleccionar " +"ambos protocolos \"SSL\" y \"TLS\"." #: ../Doc/library/ssl.rst:660 msgid "" @@ -727,52 +1030,63 @@ msgid "" "enables :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` by " "default." msgstr "" +"Negocia automáticamente la versión más alta del protocolo como :data:" +"`PROTOCOL_TLS`, pero sólo soporta conexiones :class:`SSLSocket` del lado del " +"cliente. El protocolo activa :data:`CERT_REQUIRED` y :attr:`~SSLContext." +"check_hostname` por defecto." #: ../Doc/library/ssl.rst:669 msgid "" "Auto-negotiate the highest protocol version like :data:`PROTOCOL_TLS`, but " "only support server-side :class:`SSLSocket` connections." msgstr "" +"Negocia automáticamente la versión más alta del protocolo como :data:" +"`PROTOCOL_TLS`, pero sólo soporta conexiones :class:`SSLSocket` del lado del " +"servidor." #: ../Doc/library/ssl.rst:676 msgid "Alias for :data:`PROTOCOL_TLS`." -msgstr "" +msgstr "Alias para :data:`PROTOCOL_TLS`." #: ../Doc/library/ssl.rst:680 msgid "Use :data:`PROTOCOL_TLS` instead." -msgstr "" +msgstr "Utilice en su lugar :data:`PROTOCOL_TLS`." #: ../Doc/library/ssl.rst:684 msgid "Selects SSL version 2 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 2 de SSL como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:686 msgid "" "This protocol is not available if OpenSSL is compiled with the " "``OPENSSL_NO_SSL2`` flag." msgstr "" +"Este protocolo no está disponible si OpenSSL fue compilada con la opción " +"``OPENSSL_NO_SSL2``." #: ../Doc/library/ssl.rst:691 msgid "SSL version 2 is insecure. Its use is highly discouraged." -msgstr "" +msgstr "La versión 2 de SSL es insegura. Su uso es muy desaconsejado." #: ../Doc/library/ssl.rst:695 msgid "OpenSSL has removed support for SSLv2." -msgstr "" +msgstr "OpenSSL a eliminado el soporte para SSLv2." #: ../Doc/library/ssl.rst:699 msgid "Selects SSL version 3 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 3 de SSL como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:701 msgid "" "This protocol is not be available if OpenSSL is compiled with the " "``OPENSSL_NO_SSLv3`` flag." msgstr "" +"Este protocolo no está disponible si OpenSSL fue compilada con la opción " +"``OPENSSL_NO_SSLv3``." #: ../Doc/library/ssl.rst:706 msgid "SSL version 3 is insecure. Its use is highly discouraged." -msgstr "" +msgstr "La versión 3 de SSL es insegura. Su uso es muy desaconsejado." #: ../Doc/library/ssl.rst:710 ../Doc/library/ssl.rst:719 #: ../Doc/library/ssl.rst:731 ../Doc/library/ssl.rst:744 @@ -780,16 +1094,21 @@ msgid "" "OpenSSL has deprecated all version specific protocols. Use the default " "protocol :data:`PROTOCOL_TLS` with flags like :data:`OP_NO_SSLv3` instead." msgstr "" +"OpenSSL a dejado obsoletas todos los protocolos de versiones específicas. " +"Utilice en su lugar el protocolo por defecto :data:`PROTOCOL_TLS` con " +"opciones como :data:`OP_NO_SSLv3`." #: ../Doc/library/ssl.rst:715 msgid "Selects TLS version 1.0 as the channel encryption protocol." -msgstr "" +msgstr "Selecciona la versión 1.0 de TLS como protocolo de cifrado del canal." #: ../Doc/library/ssl.rst:724 msgid "" "Selects TLS version 1.1 as the channel encryption protocol. Available only " "with openssl version 1.0.1+." msgstr "" +"Selecciona la versión 1.1 de TLS como protocolo de cifrado del canal. " +"Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:736 msgid "" @@ -797,6 +1116,10 @@ msgid "" "modern version, and probably the best choice for maximum protection, if both " "sides can speak it. Available only with openssl version 1.0.1+." msgstr "" +"Selecciona la versión 1.2 de TLS como protocolo de cifrado del canal. Esta " +"es la versión mas moderna, y probablemente la mejor alternativa para máxima " +"protección, si ambos lados pueden utilizarla. Disponible sólo con openssl en " +"versión 1.0.1+." #: ../Doc/library/ssl.rst:749 msgid "" @@ -804,6 +1127,10 @@ msgid "" "This option is set by default. It does not necessarily set the same flags " "as OpenSSL's ``SSL_OP_ALL`` constant." msgstr "" +"Activa soluciones alternativas para varios errores presentes en otras " +"implementaciones SSL. Esta opción esta activada por defecto. No " +"necesariamente activa las mismas opciones como la constante ``SSL_OP_ALL`` " +"de OpenSSL." #: ../Doc/library/ssl.rst:757 msgid "" @@ -811,10 +1138,12 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv2 as " "the protocol version." msgstr "" +"Evita una conexión SSLv2. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan SSLv2 como versión del protocolo." #: ../Doc/library/ssl.rst:765 msgid "SSLv2 is deprecated" -msgstr "" +msgstr "SSLv2 es obsoleto" #: ../Doc/library/ssl.rst:770 msgid "" @@ -822,10 +1151,12 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv3 as " "the protocol version." msgstr "" +"Evita una conexión SSLv3. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan SSLv3 como versión del protocolo." #: ../Doc/library/ssl.rst:778 msgid "SSLv3 is deprecated" -msgstr "" +msgstr "SSLv3 es obsoleto" #: ../Doc/library/ssl.rst:782 msgid "" @@ -833,12 +1164,16 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1 as " "the protocol version." msgstr "" +"Evita una conexión TLSv1. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1 como versión del protocolo." #: ../Doc/library/ssl.rst:788 msgid "" "The option is deprecated since OpenSSL 1.1.0, use the new :attr:`SSLContext." "minimum_version` and :attr:`SSLContext.maximum_version` instead." msgstr "" +"Esta opción es obsoleta desde OpenSSL 1.1.0, utilice en su lugar los nuevos :" +"attr:`SSLContext.minimum_version` y :attr:`SSLContext.maximum_version`." #: ../Doc/library/ssl.rst:795 msgid "" @@ -846,10 +1181,13 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.1 as " "the protocol version. Available only with openssl version 1.0.1+." msgstr "" +"Evita una conexión TLSv1.1. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.1 como versión del " +"protocolo. Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:801 ../Doc/library/ssl.rst:812 msgid "The option is deprecated since OpenSSL 1.1.0." -msgstr "" +msgstr "Esta opción es obsoleta desde OpenSSL 1.1.0." #: ../Doc/library/ssl.rst:806 msgid "" @@ -857,6 +1195,9 @@ msgid "" "with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.2 as " "the protocol version. Available only with openssl version 1.0.1+." msgstr "" +"Evita una conexión TLSv1.2. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.2 como versión del " +"protocolo. Disponible sólo con openssl en versión 1.0.1+." #: ../Doc/library/ssl.rst:817 msgid "" @@ -866,28 +1207,40 @@ msgid "" "Python has been compiled against an older version of OpenSSL, the flag " "defaults to *0*." msgstr "" +"Evita una conexión TLSv1.3. Esta opción sólo es aplicable junto con :const:" +"`PROTOCOL_TLS`. Evita que los pares elijan TLSv1.3 como versión del " +"protocolo. TLS 1.3 está disponible con OpenSSL 1.1.1 o superior. Cuando " +"Python es compilado contra una versión mas antigua de OpenSSL, la opción " +"vale *0* por defecto." #: ../Doc/library/ssl.rst:825 msgid "" "The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15, 3.6.3 " "and 3.7.0 for backwards compatibility with OpenSSL 1.0.2." msgstr "" +"Esta opción es obsoleta desde OpenSSL 1.1.0. Ha sido agregada a 2.7.15, " +"3.6.3 y 3.7.0 por retro-compatibilidad con OpenSSL 1.0.2." #: ../Doc/library/ssl.rst:831 msgid "" "Disable all renegotiation in TLSv1.2 and earlier. Do not send HelloRequest " "messages, and ignore renegotiation requests via ClientHello." msgstr "" +"Desactiva toda re-negociación en TLSv1.2 y anteriores. No envía mensajes " +"HelloRequest e ignora solicitudes de re-negociación vía ClientHello." #: ../Doc/library/ssl.rst:834 msgid "This option is only available with OpenSSL 1.1.0h and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.1.0h y posteriores." #: ../Doc/library/ssl.rst:840 msgid "" "Use the server's cipher ordering preference, rather than the client's. This " "option has no effect on client sockets and SSLv2 server sockets." msgstr "" +"Utiliza la preferencia de ordenación de cifrado del servidor, en lugar de la " +"del cliente. Esta opción no tiene efecto en los sockets del cliente ni en " +"los sockets del servidor SSLv2." #: ../Doc/library/ssl.rst:847 msgid "" @@ -895,6 +1248,9 @@ msgid "" "forward secrecy but requires more computational resources. This option only " "applies to server sockets." msgstr "" +"Evita la reutilización de la misma clave DH para distintas sesiones SSL. " +"Esto mejora el secreto hacia adelante pero requiere más recursos " +"computacionales. Esta opción sólo se aplica a los sockets del servidor." #: ../Doc/library/ssl.rst:855 msgid "" @@ -902,46 +1258,58 @@ msgid "" "improves forward secrecy but requires more computational resources. This " "option only applies to server sockets." msgstr "" +"Evita la reutilización de la misma clave ECDH para distintas sesiones SSL. " +"Esto mejora el secreto hacia adelante pero requiere más recursos " +"computacionales. Esta opción sólo se aplica a los sockets del servidor." #: ../Doc/library/ssl.rst:863 msgid "" "Send dummy Change Cipher Spec (CCS) messages in TLS 1.3 handshake to make a " "TLS 1.3 connection look more like a TLS 1.2 connection." msgstr "" +"Enviar mensajes Change Cipher Spec (CCS) ficticios en el handshake de TLS " +"1.3 para que una conexión TLS 1.3 se parezca más a una conexión TLS 1.2." #: ../Doc/library/ssl.rst:866 msgid "This option is only available with OpenSSL 1.1.1 and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.1.1 y posteriores." #: ../Doc/library/ssl.rst:872 msgid "" "Disable compression on the SSL channel. This is useful if the application " "protocol supports its own compression scheme." msgstr "" +"Desactivar la compresión en el canal SSL. Esto es útil si el protocolo de la " +"aplicación soporta su propio esquema de compresión." #: ../Doc/library/ssl.rst:875 msgid "This option is only available with OpenSSL 1.0.0 and later." -msgstr "" +msgstr "Esta opción sólo está disponible con OpenSSL 1.0.0 y posteriores." #: ../Doc/library/ssl.rst:881 msgid ":class:`enum.IntFlag` collection of OP_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntFlag` de constantes OP_*." #: ../Doc/library/ssl.rst:885 msgid "Prevent client side from requesting a session ticket." -msgstr "" +msgstr "Evita que el lado del cliente solicite un ticket de sesión." #: ../Doc/library/ssl.rst:891 msgid "" "Whether the OpenSSL library has built-in support for the *Application-Layer " "Protocol Negotiation* TLS extension as described in :rfc:`7301`." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para la extensión TLS " +"*Application-Layer Protocol Negotiation* como se describe en :rfc:`7301`." #: ../Doc/library/ssl.rst:898 msgid "" "Whether the OpenSSL library has built-in support not checking subject common " "name and :attr:`SSLContext.hostname_checks_common_name` is writeable." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para no comprobar el " +"nombre común del sujeto y :attr:`SSLContext.hostname_checks_common_name` es " +"modificable." #: ../Doc/library/ssl.rst:906 msgid "" @@ -949,12 +1317,18 @@ msgid "" "based Diffie-Hellman key exchange. This should be true unless the feature " "was explicitly disabled by the distributor." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el intercambio de " +"claves Diffie-Hellman basado en Elliptic Curve. Esto debería ser cierto a " +"menos que la función haya sido desactivada explícitamente por el " +"distribuidor." #: ../Doc/library/ssl.rst:914 msgid "" "Whether the OpenSSL library has built-in support for the *Server Name " "Indication* extension (as defined in :rfc:`6066`)." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para la extensión *Server " +"Name Indication* (como se define en :rfc:`6066`)." #: ../Doc/library/ssl.rst:921 msgid "" @@ -964,56 +1338,75 @@ msgid "" "When true, you can use the :meth:`SSLContext.set_npn_protocols` method to " "advertise which protocols you want to support." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para *Next Protocol " +"Negotiation* como se describe en `Application Layer Protocol Negotiation " +"`_. " +"Cuando es verdadero, puede utilizar el método :meth:`SSLContext." +"set_npn_protocols` para anunciar los protocolos que desea soportar." #: ../Doc/library/ssl.rst:931 msgid "" "Whether the OpenSSL library has built-in support for the SSL 2.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo SSL 2.0." #: ../Doc/library/ssl.rst:937 msgid "" "Whether the OpenSSL library has built-in support for the SSL 3.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo SSL 3.0." #: ../Doc/library/ssl.rst:943 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.0 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.0." #: ../Doc/library/ssl.rst:949 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.1 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.1." #: ../Doc/library/ssl.rst:955 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.2 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.2." #: ../Doc/library/ssl.rst:961 msgid "" "Whether the OpenSSL library has built-in support for the TLS 1.3 protocol." msgstr "" +"Si la biblioteca OpenSSL tiene soporte incorporado para el protocolo TLS 1.3." #: ../Doc/library/ssl.rst:967 msgid "" "List of supported TLS channel binding types. Strings in this list can be " "used as arguments to :meth:`SSLSocket.get_channel_binding`." msgstr "" +"Lista de tipos de enlace de canales TLS admitidos. Las cadenas de caracteres " +"en esta lista pueden ser usadas como argumentos para :meth:`SSLSocket." +"get_channel_binding`." #: ../Doc/library/ssl.rst:974 msgid "The version string of the OpenSSL library loaded by the interpreter::" msgstr "" +"La cadena de versión de la biblioteca OpenSSL cargada por el intérprete::" #: ../Doc/library/ssl.rst:983 msgid "" "A tuple of five integers representing version information about the OpenSSL " "library::" msgstr "" +"Una tupla de cinco números enteros representando la información de versión " +"de la biblioteca OpenSSL::" #: ../Doc/library/ssl.rst:993 msgid "The raw version number of the OpenSSL library, as a single integer::" msgstr "" +"El número de versión en bruto de la biblioteca OpenSSL, como un único número " +"entero::" #: ../Doc/library/ssl.rst:1006 msgid "" @@ -1022,16 +1415,22 @@ msgid "" "parameters-6>`_ contains this list and references to the RFCs where their " "meaning is defined." msgstr "" +"Descripciones de alertas de :rfc:`5246` y otras. El `IANA TLS Alert Registry " +"`_ contiene esta lista y las referencias a las RFC donde se " +"define su significado." #: ../Doc/library/ssl.rst:1010 msgid "" "Used as the return value of the callback function in :meth:`SSLContext." "set_servername_callback`." msgstr "" +"Se utiliza como valor de retorno de la función callback en :meth:`SSLContext." +"set_servername_callback`." #: ../Doc/library/ssl.rst:1017 msgid ":class:`enum.IntEnum` collection of ALERT_DESCRIPTION_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes ALERT_DESCRIPTION_*." #: ../Doc/library/ssl.rst:1023 msgid "" @@ -1040,6 +1439,10 @@ msgid "" "authenticate Web servers (therefore, it will be used to create client-side " "sockets)." msgstr "" +"Opción para :func:`create_default_context` y :meth:`SSLContext." +"load_default_certs`. Este valor indica que el contexto puede utilizarse para " +"autenticar servidores web (por lo tanto, se utilizará para crear sockets del " +"lado del cliente)." #: ../Doc/library/ssl.rst:1032 msgid "" @@ -1048,16 +1451,22 @@ msgid "" "authenticate Web clients (therefore, it will be used to create server-side " "sockets)." msgstr "" +"Opción para :func:`create_default_context` y :meth:`SSLContext." +"load_default_certs`. Este valor indica que el contexto puede utilizarse para " +"autenticar clientes web (por lo tanto, se utilizará para crear sockets del " +"lado del servidor)." #: ../Doc/library/ssl.rst:1041 msgid ":class:`enum.IntEnum` collection of SSL_ERROR_* constants." -msgstr "" +msgstr "Colección :class:`enum.IntEnum` de constantes SSL_ERROR_*." #: ../Doc/library/ssl.rst:1047 msgid "" ":class:`enum.IntEnum` collection of SSL and TLS versions for :attr:" "`SSLContext.maximum_version` and :attr:`SSLContext.minimum_version`." msgstr "" +"Colección :class:`enum.IntEnum` de versiones SSL y TLS para :attr:" +"`SSLContext.maximum_version` y :attr:`SSLContext.minimum_version`." #: ../Doc/library/ssl.rst:1055 msgid "" @@ -1065,88 +1474,103 @@ msgid "" "constants. Their values don't reflect the lowest and highest available TLS/" "SSL versions." msgstr "" +"La mínima o máxima versión soportada de SSL o TLS. Estas son constantes " +"mágicas. Sus valores no reflejan la mas baja o mas alta versión TLS/SSL " +"disponible." #: ../Doc/library/ssl.rst:1065 msgid "SSL 3.0 to TLS 1.3." -msgstr "" +msgstr "SSL 3.0 a TLS 1.3." #: ../Doc/library/ssl.rst:1069 msgid "SSL Sockets" -msgstr "" +msgstr "Sockets SSL" #: ../Doc/library/ssl.rst:1073 msgid "SSL sockets provide the following methods of :ref:`socket-objects`:" msgstr "" +"Los sockets SSL proporcionan los siguientes métodos de :ref:`socket-objects`:" #: ../Doc/library/ssl.rst:1075 msgid ":meth:`~socket.socket.accept()`" -msgstr "" +msgstr ":meth:`~socket.socket.accept()`" #: ../Doc/library/ssl.rst:1076 msgid ":meth:`~socket.socket.bind()`" -msgstr "" +msgstr ":meth:`~socket.socket.bind()`" #: ../Doc/library/ssl.rst:1077 msgid ":meth:`~socket.socket.close()`" -msgstr "" +msgstr ":meth:`~socket.socket.close()`" #: ../Doc/library/ssl.rst:1078 msgid ":meth:`~socket.socket.connect()`" -msgstr "" +msgstr ":meth:`~socket.socket.connect()`" #: ../Doc/library/ssl.rst:1079 msgid ":meth:`~socket.socket.detach()`" -msgstr "" +msgstr ":meth:`~socket.socket.detach()`" #: ../Doc/library/ssl.rst:1080 msgid ":meth:`~socket.socket.fileno()`" -msgstr "" +msgstr ":meth:`~socket.socket.fileno()`" #: ../Doc/library/ssl.rst:1081 msgid "" ":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" msgstr "" +":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" #: ../Doc/library/ssl.rst:1082 msgid "" ":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" msgstr "" +":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" #: ../Doc/library/ssl.rst:1083 msgid "" ":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" "meth:`~socket.socket.setblocking()`" msgstr "" +":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" +"meth:`~socket.socket.setblocking()`" #: ../Doc/library/ssl.rst:1085 msgid ":meth:`~socket.socket.listen()`" -msgstr "" +msgstr ":meth:`~socket.socket.listen()`" #: ../Doc/library/ssl.rst:1086 msgid ":meth:`~socket.socket.makefile()`" -msgstr "" +msgstr ":meth:`~socket.socket.makefile()`" #: ../Doc/library/ssl.rst:1087 msgid "" ":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (but " "passing a non-zero ``flags`` argument is not allowed)" msgstr "" +":meth:`~socket.socket.recv()`, :meth:`~socket.socket.recv_into()` (pero no " +"se admite pasar un argumento ``flags`` diferente de cero)" #: ../Doc/library/ssl.rst:1089 msgid "" ":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (with the " "same limitation)" msgstr "" +":meth:`~socket.socket.send()`, :meth:`~socket.socket.sendall()` (con la " +"misma limitación)" #: ../Doc/library/ssl.rst:1091 msgid "" ":meth:`~socket.socket.sendfile()` (but :mod:`os.sendfile` will be used for " "plain-text sockets only, else :meth:`~socket.socket.send()` will be used)" msgstr "" +":meth:`~socket.socket.sendfile()` (pero :mod:`os.sendfile` sera utilizado " +"sólo para sockets de texto simple, sino :meth:`~socket.socket.send()` sera " +"utilizado)" #: ../Doc/library/ssl.rst:1093 msgid ":meth:`~socket.socket.shutdown()`" -msgstr "" +msgstr ":meth:`~socket.socket.shutdown()`" #: ../Doc/library/ssl.rst:1095 msgid "" @@ -1155,16 +1579,23 @@ msgid "" "specification of normal, OS-level sockets. See especially the :ref:`notes " "on non-blocking sockets `." msgstr "" +"Sin embargo, dado que el protocolo SSL (y TLS) tiene su propia estructura " +"encima de TCP, la abstracción de los sockets SSL puede, en ciertos aspectos, " +"divergir de la especificación de los sockets normales a nivel de SO. Ver " +"especialmente las :ref:`notas sobre sockets no bloqueantes `." #: ../Doc/library/ssl.rst:1100 msgid "" "Instances of :class:`SSLSocket` must be created using the :meth:`SSLContext." "wrap_socket` method." msgstr "" +"Instancias de :class:`SSLSocket` deben ser creadas usando el método :meth:" +"`SSLContext.wrap_socket`." #: ../Doc/library/ssl.rst:1103 msgid "The :meth:`sendfile` method was added." -msgstr "" +msgstr "El método :meth:`sendfile` ha sido agregado." #: ../Doc/library/ssl.rst:1106 msgid "" @@ -1172,12 +1603,17 @@ msgid "" "received or sent. The socket timeout is now to maximum total duration of the " "shutdown." msgstr "" +"El método :meth:`shutdown` no reinicia el tiempo de espera del socket cada " +"vez que se reciben o envían bytes. El tiempo de espera del socket es ahora " +"la máxima duración del cierre." #: ../Doc/library/ssl.rst:1111 msgid "" "It is deprecated to create a :class:`SSLSocket` instance directly, use :meth:" "`SSLContext.wrap_socket` to wrap a socket." msgstr "" +"Crear una instancia de :class:`SSLSocket` directamente es obsoleto, utilice :" +"meth:`SSLContext.wrap_socket` para envolver un socket." #: ../Doc/library/ssl.rst:1115 msgid "" @@ -1185,10 +1621,15 @@ msgid "" "wrap_socket`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" +"Las instancias de :class:`SSLSocket` deben crearse con :meth:`~SSLContext." +"wrap_socket`. En versiones anteriores, era posible crear instancias " +"directamente. Esto nunca fue documentado ni soportado oficialmente." #: ../Doc/library/ssl.rst:1121 msgid "SSL sockets also have the following additional methods and attributes:" msgstr "" +"Los sockets SSL tienen también los siguientes métodos y atributos " +"adicionales:" #: ../Doc/library/ssl.rst:1125 msgid "" @@ -1196,18 +1637,25 @@ msgid "" "a ``bytes`` instance. If *buffer* is specified, then read into the buffer " "instead, and return the number of bytes read." msgstr "" +"Lee hasta *len* bytes de datos del socket SSL y retorna el resultado como " +"una instancia ``bytes``. Si *buffer* es especificado, entonces se lee hacia " +"el buffer en su lugar, y retorna el número de bytes leídos." #: ../Doc/library/ssl.rst:1129 msgid "" "Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" "ref:`non-blocking ` and the read would block." msgstr "" +"Lanza :exc:`SSLWantReadError` o :exc:`SSLWantWriteError` si el socket es :" +"ref:`no-bloqueante ` y la lectura se bloquearía." #: ../Doc/library/ssl.rst:1132 msgid "" "As at any time a re-negotiation is possible, a call to :meth:`read` can also " "cause write operations." msgstr "" +"Como en cualquier momento es posible una re-negociación, una llamada a :meth:" +"`read` también puede provocar operaciones de escritura." #: ../Doc/library/ssl.rst:1135 msgid "" @@ -1215,38 +1663,50 @@ msgid "" "The socket timeout is now to maximum total duration to read up to *len* " "bytes." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima para leer hasta *len* bytes." #: ../Doc/library/ssl.rst:1140 msgid "Use :meth:`~SSLSocket.recv` instead of :meth:`~SSLSocket.read`." -msgstr "" +msgstr "Utilice :meth:`~SSLSocket.recv` en lugar de :meth:`~SSLSocket.read`." #: ../Doc/library/ssl.rst:1145 msgid "" "Write *buf* to the SSL socket and return the number of bytes written. The " "*buf* argument must be an object supporting the buffer interface." msgstr "" +"Escribe *buf* en el socket SSL y retorna el número de bytes escritos. El " +"argumento *buf* debe ser un objeto que soporte la interfaz buffer." #: ../Doc/library/ssl.rst:1148 msgid "" "Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" "ref:`non-blocking ` and the write would block." msgstr "" +"Lanza :exc:`SSLWantReadError` o :exc:`SSLWantWriteError` si el socket es :" +"ref:`no-bloqueante ` y la escritura se bloquearía." #: ../Doc/library/ssl.rst:1151 msgid "" "As at any time a re-negotiation is possible, a call to :meth:`write` can " "also cause read operations." msgstr "" +"Como en cualquier momento es posible una re-negociación, una llamada a :meth:" +"`write` también puede provocar operaciones de lectura." #: ../Doc/library/ssl.rst:1154 msgid "" "The socket timeout is no more reset each time bytes are received or sent. " "The socket timeout is now to maximum total duration to write *buf*." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima para escribir *buf*." #: ../Doc/library/ssl.rst:1158 msgid "Use :meth:`~SSLSocket.send` instead of :meth:`~SSLSocket.write`." -msgstr "" +msgstr "Utilice :meth:`~SSLSocket.send` en lugar de :meth:`~SSLSocket.write`." #: ../Doc/library/ssl.rst:1163 msgid "" @@ -1256,16 +1716,24 @@ msgid "" "active SSL connection, i.e. the handshake was completed and :meth:`SSLSocket." "unwrap` was not called." msgstr "" +"Los métodos :meth:`~SSLSocket.read` y :meth:`~SSLSocket.write` son los " +"métodos de bajo nivel que leen y escriben datos no cifrados a nivel de " +"aplicación y los descifran/cifran a datos cifrados a nivel de cable. Estos " +"métodos requieren una conexión SSL activa, es decir, que se haya completado " +"el handshake y no se haya llamado a :meth:`SSLSocket.unwrap`." #: ../Doc/library/ssl.rst:1169 msgid "" "Normally you should use the socket API methods like :meth:`~socket.socket." "recv` and :meth:`~socket.socket.send` instead of these methods." msgstr "" +"Normalmente se deberían utilizar los métodos de la API de sockets como :meth:" +"`~socket.socket.recv` y :meth:`~socket.socket.send` en lugar de estos " +"métodos." #: ../Doc/library/ssl.rst:1175 msgid "Perform the SSL setup handshake." -msgstr "" +msgstr "Realiza el handshake de configuración SSL." #: ../Doc/library/ssl.rst:1177 msgid "" @@ -1273,12 +1741,18 @@ msgid "" "`~SSLContext.check_hostname` attribute of the socket's :attr:`~SSLSocket." "context` is true." msgstr "" +"El método handshake también realiza :func:`match_hostname` cuando el " +"atributo :attr:`~SSLContext.check_hostname` del :attr:`~SSLSocket.context` " +"del socket es verdadero." #: ../Doc/library/ssl.rst:1182 msgid "" "The socket timeout is no more reset each time bytes are received or sent. " "The socket timeout is now to maximum total duration of the handshake." msgstr "" +"El tiempo de espera del socket ya no se reinicia cada vez que se reciben o " +"envían bytes. El tiempo de espera del socket es ahora la duración total " +"máxima del handshake." #: ../Doc/library/ssl.rst:1186 msgid "" @@ -1287,6 +1761,10 @@ msgid "" "or IP address, the handshake is aborted early and a TLS alert message is " "send to the peer." msgstr "" +"El hostname o la dirección IP son comparados por OpenSSL durante el " +"handshake. La función :func:`match_hostname` ya no se utiliza. En caso de " +"que OpenSSL rechace un hostname o dirección IP, el handshake se aborta antes " +"de tiempo y se envía un mensaje de alerta TLS al peer." #: ../Doc/library/ssl.rst:1194 msgid "" @@ -1294,6 +1772,9 @@ msgid "" "return ``None``. If the SSL handshake hasn't been done yet, raise :exc:" "`ValueError`." msgstr "" +"Si no hay un certificado para el peer en el otro extremo de la conexión, " +"devuelve ``None``. Si el handshake SSL no se ha realizado todavía, lanza :" +"exc:`ValueError`." #: ../Doc/library/ssl.rst:1198 msgid "" @@ -1306,6 +1787,14 @@ msgid "" "of the *Subject Alternative Name* extension (see :rfc:`3280`), there will " "also be a ``subjectAltName`` key in the dictionary." msgstr "" +"Si el parámetro ``binary_form`` es :const:`False`, y se ha recibido un " +"certificado del peer, este método devuelve una instancia :class:`dict`. Si " +"el certificado no fue validado, el dict está vacío. Si el certificado fue " +"validado, devuelve un dict con varias claves, entre ellas ``subject`` (la " +"entidad para la que se emitió el certificado) y ``issuer`` (la entidad que " +"emite el certificado). Si un certificado contiene una instancia de la " +"extensión *Subject Alternative Name* (véase :rfc:`3280`), también habrá una " +"clave ``subjectAltName`` en el diccionario." #: ../Doc/library/ssl.rst:1207 msgid "" @@ -1314,12 +1803,18 @@ msgid "" "structure for the respective fields, and each RDN is a sequence of name-" "value pairs. Here is a real-world example::" msgstr "" +"Los campos ``subject`` y ``issuer`` son tuplas que contienen la secuencia de " +"nombres distinguidos relativos (RDNs) indicados en la estructura de datos " +"del certificado para los campos respectivos, y cada RDN es una secuencia de " +"pares nombre-valor. Este es un ejemplo del mundo real::" #: ../Doc/library/ssl.rst:1233 msgid "" "To validate a certificate for a particular service, you can use the :func:" "`match_hostname` function." msgstr "" +"Para validar un certificado para un servicio concreto, puede utilizar la " +"función :func:`match_hostname`." #: ../Doc/library/ssl.rst:1236 msgid "" @@ -1329,12 +1824,19 @@ msgid "" "certificate. Whether the peer provides a certificate depends on the SSL " "socket's role:" msgstr "" +"Si el parámetro ``binary_form`` es :const:`True`, y se proporcionó un " +"certificado, este método devuelve la forma codificada en DER del certificado " +"completo como una secuencia de bytes, o :const:`None` si el par no " +"proporcionó un certificado. El hecho de que el par proporcione un " +"certificado depende del rol del socket SSL:" #: ../Doc/library/ssl.rst:1242 msgid "" "for a client SSL socket, the server will always provide a certificate, " "regardless of whether validation was required;" msgstr "" +"para un socket SSL cliente, el servidor siempre proporcionará un " +"certificado, independientemente de si se requirió la validación;" #: ../Doc/library/ssl.rst:1245 msgid "" @@ -1343,12 +1845,18 @@ msgid "" "`None` if you used :const:`CERT_NONE` (rather than :const:`CERT_OPTIONAL` " "or :const:`CERT_REQUIRED`)." msgstr "" +"para un socket SSL servidor, el cliente sólo proporcionará un certificado " +"cuando lo solicite el servidor; por lo tanto :meth:`getpeercert` devolverá :" +"const:`None` si ha utilizado :const:`CERT_NONE` (en lugar de :const:" +"`CERT_OPTIONAL` o :const:`CERT REQUIRED`)." #: ../Doc/library/ssl.rst:1250 msgid "" "The returned dictionary includes additional items such as ``issuer`` and " "``notBefore``." msgstr "" +"El diccionario devuelto incluye elementos adicionales tales como ``issuer`` " +"y ``notBefore``." #: ../Doc/library/ssl.rst:1254 msgid "" @@ -1356,10 +1864,13 @@ msgid "" "dictionary includes additional X509v3 extension items such as " "``crlDistributionPoints``, ``caIssuers`` and ``OCSP`` URIs." msgstr "" +":exc:`ValueError` se lanza cuando no se realiza el handshake. El diccionario " +"devuelto incluye elementos de extensión X509v3 adicionales como " +"``crlDistributionPoints``, ``caIssuers`` y ``OCSP`` URIs." #: ../Doc/library/ssl.rst:1259 msgid "IPv6 address strings no longer have a trailing new line." -msgstr "" +msgstr "Las cadenas de direcciones IPv6 ya no tienen una nueva línea al final." #: ../Doc/library/ssl.rst:1264 msgid "" @@ -1368,6 +1879,10 @@ msgid "" "secret bits being used. If no connection has been established, returns " "``None``." msgstr "" +"Retorna una tupla de tres valores que contiene el nombre del cifrado que se " +"está utilizando, la versión del protocolo SSL que define su uso y el número " +"de bits secretos que se están utilizando. Si no se ha establecido ninguna " +"conexión, retorna ``None``." #: ../Doc/library/ssl.rst:1270 msgid "" @@ -1378,24 +1893,38 @@ msgid "" "``None`` if no connection has been established or the socket is a client " "socket." msgstr "" +"Retorna la lista de cifrados compartidos por el cliente durante el " +"handshake. Cada entrada de la lista devuelta es una tupla de tres valores " +"que contiene el nombre del cifrado, la versión del protocolo SSL que define " +"su uso y el número de bits secretos que utiliza el cifrado. :meth:" +"`~SSLSocket.shared_ciphers`` retorna ``None`` si no se ha establecido " +"ninguna conexión o el socket es un socket cliente." #: ../Doc/library/ssl.rst:1281 msgid "" "Return the compression algorithm being used as a string, or ``None`` if the " "connection isn't compressed." msgstr "" +"Retorna el algoritmo de compresión utilizado como una cadena de caracteres, " +"o ``None`` si la conexión no está comprimida." #: ../Doc/library/ssl.rst:1284 msgid "" "If the higher-level protocol supports its own compression mechanism, you can " "use :data:`OP_NO_COMPRESSION` to disable SSL-level compression." msgstr "" +"Si el protocolo de nivel superior soporta su propio mecanismo de compresión, " +"puede utilizar :data:`OP_NO_COMPRESSION` para desactivar la compresión a " +"nivel de SSL." #: ../Doc/library/ssl.rst:1291 msgid "" "Get channel binding data for current connection, as a bytes object. Returns " "``None`` if not connected or the handshake has not been completed." msgstr "" +"Obtiene los datos de enlace del canal para la conexión actual, como un " +"objeto bytes. Retorna ``None`` si no está conectado o no se ha completado el " +"handshake." #: ../Doc/library/ssl.rst:1294 msgid "" @@ -1405,6 +1934,11 @@ msgid "" "`5929`, is supported. :exc:`ValueError` will be raised if an unsupported " "channel binding type is requested." msgstr "" +"El parámetro *cb_type* permite seleccionar el tipo de enlace de canal " +"deseado. Los tipos de enlace de canal válidos se enumeran en la lista :data:" +"`CHANNEL_BINDING_TYPES`. Actualmente, sólo se admite la vinculación de canal " +"'tls-unique', definida por :rfc:`5929`. :exc:`ValueError` se lanzará si se " +"solicita un tipo de vinculación de canal no admitido." #: ../Doc/library/ssl.rst:1304 msgid "" @@ -1413,6 +1947,11 @@ msgid "" "support ALPN, if this socket does not support any of the client's proposed " "protocols, or if the handshake has not happened yet, ``None`` is returned." msgstr "" +"Retorna el protocolo que fue seleccionado durante el handshake TLS. Si no se " +"ha llamado a :meth:`SSLContext.set_alpn_protocols`, si la otra parte no " +"soporta ALPN, si este socket no soporta ninguno de los protocolos propuestos " +"por el cliente, o si el handshake no ha ocurrido todavía, se devuelve " +"``None``." #: ../Doc/library/ssl.rst:1314 msgid "" @@ -1421,6 +1960,10 @@ msgid "" "other party does not support NPN, or if the handshake has not yet happened, " "this will return ``None``." msgstr "" +"Devuelve el protocolo de nivel superior que se seleccionó durante el " +"handshake TLS/SSL. Si no se llamó a :meth:`SSLContext.set_npn_protocols`, o " +"si la otra parte no soporta NPN, o si el handshake aún no ha ocurrido, esto " +"devolverá ``None``." #: ../Doc/library/ssl.rst:1323 msgid "" @@ -1430,6 +1973,11 @@ msgid "" "returned socket should always be used for further communication with the " "other side of the connection, rather than the original socket." msgstr "" +"Realiza el handshake de cierre de SSL, que elimina la capa TLS del socket " +"subyacente, y devuelve el objeto socket subyacente. Esto puede utilizarse " +"para pasar de una operación encriptada sobre una conexión a una sin " +"encriptar. El socket devuelto debe utilizarse siempre para la comunicación " +"posterior con el otro lado de la conexión, en lugar del socket original." #: ../Doc/library/ssl.rst:1331 msgid "" @@ -1438,6 +1986,10 @@ msgid "" "the initial TLS handshake and with PHA enabled on both sides, see :attr:" "`SSLContext.post_handshake_auth`." msgstr "" +"Solicita la autenticación post-handshake (PHA) de un cliente TLS 1.3. PHA " +"sólo puede iniciarse para una conexión TLS 1.3 desde un socket del lado del " +"servidor, después del handshake TLS inicial y con PHA habilitado en ambos " +"lados, ver :attr:`SSLContext.post_handshake_auth`." #: ../Doc/library/ssl.rst:1336 msgid "" @@ -1445,18 +1997,26 @@ msgid "" "sends a CertificateRequest during the next write event and expects the " "client to respond with a certificate on the next read event." msgstr "" +"El método no realiza un intercambio de certificados inmediatamente. El lado " +"del servidor envía una CertificateRequest durante el siguiente evento de " +"escritura y espera que el cliente responda con un certificado en el " +"siguiente evento de lectura." #: ../Doc/library/ssl.rst:1340 msgid "" "If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an :exc:" "`SSLError` is raised." msgstr "" +"Si alguna precondición no se cumple (por ejemplo, no es TLS 1.3, PHA no está " +"habilitado), se genera un :exc:`SSLError`." #: ../Doc/library/ssl.rst:1344 msgid "" "Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " "support, the method raises :exc:`NotImplementedError`." msgstr "" +"Sólo está disponible con OpenSSL 1.1.1 y TLS 1.3 habilitados. Sin el soporte " +"de TLS 1.3, el método lanza :exc:`NotImplementedError`." #: ../Doc/library/ssl.rst:1351 msgid "" @@ -1466,12 +2026,20 @@ msgid "" "\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " "may define more return values." msgstr "" +"Devuelve la versión actual del protocolo SSL negociada por la conexión como " +"una cadena de caracteres, o ``None`` si no se ha establecido ninguna " +"conexión segura. En este momento, los posibles valores de retorno incluyen ``" +"\"SSLv2\"``, ``\"SSLv3\"``, ``\"TLSv1\"``, ``\"TLSv1.1\"`` y ``" +"\"TLSv1.2\"``. Las versiones recientes de OpenSSL pueden definir más valores " +"de retorno." #: ../Doc/library/ssl.rst:1361 msgid "" "Returns the number of already decrypted bytes available for read, pending on " "the connection." msgstr "" +"Retorna el número de bytes ya descifrados disponibles para leer, pendientes " +"de la conexión." #: ../Doc/library/ssl.rst:1366 msgid "" @@ -1480,18 +2048,26 @@ msgid "" "than :meth:`SSLContext.wrap_socket`), this is a custom context object " "created for this SSL socket." msgstr "" +"El objeto :class:`SSLContext` al que está vinculado este socket SSL. Si el " +"socket SSL fue creado usando la función obsoleta :func:`wrap_socket` (en " +"lugar de :meth:`SSLContext.wrap_socket`), este es un objeto de contexto " +"personalizado creado para este socket SSL." #: ../Doc/library/ssl.rst:1375 msgid "" "A boolean which is ``True`` for server-side sockets and ``False`` for client-" "side sockets." msgstr "" +"Un booleano que es ``True`` para los sockets del lado del servidor y " +"``False`` para los sockets del lado del cliente." #: ../Doc/library/ssl.rst:1382 msgid "" "Hostname of the server: :class:`str` type, or ``None`` for server-side " "socket or if the hostname was not specified in the constructor." msgstr "" +"Hostname del servidor: tipo :class:`str`, o ``None`` para el socket del lado " +"del servidor o si el hostname no fue especificado en el constructor." #: ../Doc/library/ssl.rst:1387 msgid "" @@ -1500,6 +2076,10 @@ msgid "" "form (``\"xn--pythn-mua.org\"``), rather than the U-label form (``\"pythön." "org\"``)." msgstr "" +"El atributo es ahora siempre texto ASCII. Cuando ``server_hostname`` es un " +"nombre de dominio internacionalizado (IDN), este atributo almacena ahora la " +"forma de etiqueta A (``\"xn--pythn-mua.org\"``), en lugar de la forma de " +"etiqueta U (``\"pythön.org\"``)." #: ../Doc/library/ssl.rst:1395 msgid "" @@ -1508,10 +2088,15 @@ msgid "" "performed. For client sockets the session can be set before :meth:" "`~SSLSocket.do_handshake` has been called to reuse a session." msgstr "" +"La :class:`SSLSession` para esta conexión SSL. La sesión está disponible " +"para los sockets del lado del cliente y del servidor después de que se haya " +"realizado el handshake TLS. Para los sockets del cliente la sesión puede ser " +"establecida antes de que :meth:`~SSLSocket.do_handshake` haya sido llamado " +"para reutilizar una sesión." #: ../Doc/library/ssl.rst:1408 msgid "SSL Contexts" -msgstr "" +msgstr "Contextos SSL" #: ../Doc/library/ssl.rst:1412 msgid "" @@ -1520,6 +2105,10 @@ msgid "" "also manages a cache of SSL sessions for server-side sockets, in order to " "speed up repeated connections from the same clients." msgstr "" +"Un contexto SSL contiene varios datos más duraderos que las conexiones SSL " +"individuales, como opciones de configuración SSL, certificado(s) y clave(s) " +"privada(s). También gestiona un cache de sesiones SSL para sockets del lado " +"del servidor, para acelerar conexiones repetidas de los mismos clientes." #: ../Doc/library/ssl.rst:1419 msgid "" @@ -1531,108 +2120,124 @@ msgid "" "versions. If not specified, the default is :data:`PROTOCOL_TLS`; it " "provides the most compatibility with other versions." msgstr "" +"Crea un nuevo contexto SSL. Puede pasar *protocolo* que debe ser una de las " +"constantes ``PROTOCOL_*`` definidas en este módulo. El parámetro especifica " +"la versión del protocolo SSL a utilizar. Típicamente, el servidor elige una " +"versión particular del protocolo, y el cliente debe adaptarse a la elección " +"del servidor. La mayoría de las versiones no son interoperables con las " +"demás. Si no se especifica, el valor por defecto es :data:`PROTOCOL_TLS`; " +"proporciona la mayor compatibilidad con otras versiones." #: ../Doc/library/ssl.rst:1428 msgid "" "Here's a table showing which versions in a client (down the side) can " "connect to which versions in a server (along the top):" msgstr "" +"Esta es una tabla que muestra qué versiones de un cliente (en la parte " +"inferior) pueden conectarse a qué versiones de un servidor (en la parte " +"superior):" #: ../Doc/library/ssl.rst:1434 msgid "*client* / **server**" -msgstr "" +msgstr "*cliente* / **servidor**" #: ../Doc/library/ssl.rst:1434 msgid "**SSLv2**" -msgstr "" +msgstr "**SSLv2**" #: ../Doc/library/ssl.rst:1434 msgid "**SSLv3**" -msgstr "" +msgstr "**SSLv3**" #: ../Doc/library/ssl.rst:1434 msgid "**TLS** [3]_" -msgstr "" +msgstr "**TLS** [3]_" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1**" -msgstr "" +msgstr "**TLSv1**" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1.1**" -msgstr "" +msgstr "**TLSv1.1**" #: ../Doc/library/ssl.rst:1434 msgid "**TLSv1.2**" -msgstr "" +msgstr "**TLSv1.2**" #: ../Doc/library/ssl.rst:1436 msgid "*SSLv2*" -msgstr "" +msgstr "*SSLv2*" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1437 #: ../Doc/library/ssl.rst:1438 ../Doc/library/ssl.rst:1439 #: ../Doc/library/ssl.rst:1440 ../Doc/library/ssl.rst:1441 msgid "yes" -msgstr "" +msgstr "si" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1437 #: ../Doc/library/ssl.rst:1439 ../Doc/library/ssl.rst:1440 #: ../Doc/library/ssl.rst:1441 msgid "no" -msgstr "" +msgstr "no" #: ../Doc/library/ssl.rst:1436 ../Doc/library/ssl.rst:1438 msgid "no [1]_" -msgstr "" +msgstr "no [1]_" #: ../Doc/library/ssl.rst:1437 msgid "*SSLv3*" -msgstr "" +msgstr "*SSLv3*" #: ../Doc/library/ssl.rst:1437 ../Doc/library/ssl.rst:1438 msgid "no [2]_" -msgstr "" +msgstr "no [2]_" #: ../Doc/library/ssl.rst:1438 msgid "*TLS* (*SSLv23*) [3]_" -msgstr "" +msgstr "*TLS* (*SSLv23*) [3]_" #: ../Doc/library/ssl.rst:1439 msgid "*TLSv1*" -msgstr "" +msgstr "*TLSv1*" #: ../Doc/library/ssl.rst:1440 msgid "*TLSv1.1*" -msgstr "" +msgstr "*TLSv1.1*" #: ../Doc/library/ssl.rst:1441 msgid "*TLSv1.2*" -msgstr "" +msgstr "*TLSv1.2*" #: ../Doc/library/ssl.rst:1444 msgid "Footnotes" -msgstr "" +msgstr "Notas a pie de página" #: ../Doc/library/ssl.rst:1445 msgid ":class:`SSLContext` disables SSLv2 with :data:`OP_NO_SSLv2` by default." msgstr "" +":class:`SSLContext` desactiva SSLv2 con :data:`OP_NO_SSLv2` por defecto." #: ../Doc/library/ssl.rst:1446 msgid ":class:`SSLContext` disables SSLv3 with :data:`OP_NO_SSLv3` by default." msgstr "" +":class:`SSLContext` desactiva SSLv3 con :data:`OP_NO_SSLv3` por defecto." #: ../Doc/library/ssl.rst:1447 msgid "" "TLS 1.3 protocol will be available with :data:`PROTOCOL_TLS` in OpenSSL >= " "1.1.1. There is no dedicated PROTOCOL constant for just TLS 1.3." msgstr "" +"El protocolo TLS 1.3 estará disponible con :data:`PROTOCOL_TLS` en OpenSSL " +">= 1.1.1. No existe una constante PROTOCOL dedicada sólo a TLS 1.3." #: ../Doc/library/ssl.rst:1452 msgid "" ":func:`create_default_context` lets the :mod:`ssl` module choose security " "settings for a given purpose." msgstr "" +":func:`create_default_context` permite al módulo :mod:`ssl` elegir la " +"configuración de seguridad para un propósito determinado." #: ../Doc/library/ssl.rst:1457 msgid "" @@ -1644,10 +2249,18 @@ msgid "" "only ``HIGH`` ciphers, no ``NULL`` ciphers and no ``MD5`` ciphers (except " "for :data:`PROTOCOL_SSLv2`)." msgstr "" +"El contexto se crea con valores seguros por defecto. Las opciones :data:" +"`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" +"`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` (excepto " +"para :data:`PROTOCOL_SSLv2`), y :data:`OP_NO_SSLv3` (excepto para :data:" +"`PROTOCOL_SSLv3`) están establecidas por defecto. La lista inicial de " +"conjuntos de cifrado sólo contiene cifrados ``HIGH``, ningún cifrado " +"``NULL`` y ningún cifrado ``MD5`` (excepto para :data:`PROTOCOL_SSLv2`)." #: ../Doc/library/ssl.rst:1467 msgid ":class:`SSLContext` objects have the following methods and attributes:" msgstr "" +"Los objetos :class:`SSLContext` tienen los siguientes métodos y atributos:" #: ../Doc/library/ssl.rst:1471 msgid "" @@ -1655,10 +2268,13 @@ msgid "" "certificates flagged as CA certificates and certificate revocation lists as " "dictionary." msgstr "" +"Obtiene estadísticas sobre las cantidades de certificados X.509 cargados, la " +"cantidad de certificados X.509 marcados como certificados CA y las listas de " +"revocación de certificados como diccionario." #: ../Doc/library/ssl.rst:1475 msgid "Example for a context with one CA cert and one other cert::" -msgstr "" +msgstr "Ejemplo para un contexto con un certificado CA y otro certificado::" #: ../Doc/library/ssl.rst:1485 msgid "" @@ -1671,6 +2287,14 @@ msgid "" "certificates` for more information on how the certificate is stored in the " "*certfile*." msgstr "" +"Carga una clave privada y el certificado correspondiente. La cadena de " +"caracteres *certfile* debe ser la ruta de un único archivo en formato PEM " +"que contenga el certificado, así como cualquier número de certificados de CA " +"necesarios para establecer la autenticidad del certificado. La cadena de " +"caracteres *keyfile*, si está presente, debe apuntar a un archivo que " +"contenga la clave privada. De lo contrario, la clave privada se tomará " +"también de *certfile*. Consulte la discusión de :ref:`ssl-certificates` para " +"más información sobre cómo se almacena el certificado en el *certfile*." #: ../Doc/library/ssl.rst:1494 msgid "" @@ -1683,6 +2307,15 @@ msgid "" "as the *password* argument. It will be ignored if the private key is not " "encrypted and no password is needed." msgstr "" +"El argumento *password* puede ser una función a la que llamar para obtener " +"la contraseña para descifrar la clave privada. Sólo se llamará si la clave " +"privada está encriptada y se necesita una contraseña. Se llamará sin " +"argumentos, y deberá devolver una cadena de caracteres, bytes o bytearray. " +"Si el valor devuelto es una cadena de caracteres, se codificará como UTF-8 " +"antes de utilizarlo para descifrar la clave. Alternativamente, se puede " +"suministrar un valor de cadena de caracteres, bytes o bytearray directamente " +"como argumento *password*. Se ignorará si la clave privada no está cifrada y " +"no se necesita una contraseña." #: ../Doc/library/ssl.rst:1503 msgid "" @@ -1690,16 +2323,21 @@ msgid "" "OpenSSL's built-in password prompting mechanism will be used to " "interactively prompt the user for a password." msgstr "" +"Si el argumento *password* no es especificado y una contraseña es requerida, " +"el mecanismo de solicitud de contraseña incorporado de OpenSSL se usará para " +"solicitarle una contraseña al usuario de forma interactiva." #: ../Doc/library/ssl.rst:1507 msgid "" "An :class:`SSLError` is raised if the private key doesn't match with the " "certificate." msgstr "" +"Un :class:`SSLError` es lanzado si la clave privada no coincide con el " +"certificado." #: ../Doc/library/ssl.rst:1510 msgid "New optional argument *password*." -msgstr "" +msgstr "Nuevo argumento opcional *password*." #: ../Doc/library/ssl.rst:1515 msgid "" @@ -1709,6 +2347,11 @@ msgid "" "set_default_verify_paths`. In the future the method may load CA certificates " "from other locations, too." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) por " +"defecto desde ubicaciones predeterminadas. En Windows carga los certificados " +"de CA desde los almacenes del sistema ``CA`` y ``ROOT``. En otros sistemas " +"llama a :meth:`SSLContext.set_default_verify_paths`. En el futuro el método " +"puede cargar certificados de CA desde otras ubicaciones también." #: ../Doc/library/ssl.rst:1521 msgid "" @@ -1718,6 +2361,12 @@ msgid "" "sockets). :data:`Purpose.CLIENT_AUTH` loads CA certificates for client " "certificate verification on the server side." msgstr "" +"La opción *purpose* especifica qué tipo de certificados CA se cargan. La " +"configuración por defecto :data:`Purpose.SERVER_AUTH` carga certificados, " +"que están marcados y son de confianza para la autenticación del servidor web " +"TLS (sockets del lado del cliente). :data:`Purpose.CLIENT_AUTH` carga " +"certificados CA para la verificación de certificados de cliente en el lado " +"del servidor." #: ../Doc/library/ssl.rst:1531 msgid "" @@ -1725,6 +2374,10 @@ msgid "" "other peers' certificates when :data:`verify_mode` is other than :data:" "`CERT_NONE`. At least one of *cafile* or *capath* must be specified." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) " +"usados para validar certificados de otros pares cuando :data:`verify_mode` " +"es distinto de :data:`CERT_NONE`. Debe especificarse al menos uno de " +"*cafile* o *capath*." #: ../Doc/library/ssl.rst:1535 msgid "" @@ -1732,6 +2385,9 @@ msgid "" "DER format. In order to make use of CRLs, :attr:`SSLContext.verify_flags` " "must be configured properly." msgstr "" +"Este método puede cargar también listas de revocación de certificados (CRLs) " +"en formato PEM o DER. Para poder usar CRLs, :attr:`SSLContext.verify_flags` " +"debe ser configurado correctamente." #: ../Doc/library/ssl.rst:1539 msgid "" @@ -1739,6 +2395,10 @@ msgid "" "certificates in PEM format. See the discussion of :ref:`ssl-certificates` " "for more information about how to arrange the certificates in this file." msgstr "" +"La cadena de caracteres *cafile*, si está presente, es la ruta a un archivo " +"de certificados CA concatenados en formato PEM. Vea la discusión de :ref:" +"`ssl-certificates` para más información acerca de como organizar los " +"certificados en este archivo." #: ../Doc/library/ssl.rst:1544 msgid "" @@ -1747,6 +2407,10 @@ msgid "" "`_." msgstr "" +"La cadena de caracteres *capath*, si está presente, es la ruta a un " +"directorio que contiene varios certificados CA en formato PEM, siguiendo la " +"`disposición específica de OpenSSL `_." #: ../Doc/library/ssl.rst:1549 msgid "" @@ -1755,10 +2419,15 @@ msgid "" "certificates. Like with *capath* extra lines around PEM-encoded certificates " "are ignored but at least one certificate must be present." msgstr "" +"El objeto *cadata*, si está presente, es una cadena de caracteres ASCII de " +"uno o más certificados codificados en PEM o un :term:`bytes-like object` de " +"certificados codificados en DER. Al igual que con *capath*, las líneas " +"adicionales alrededor de los certificados codificados en PEM se ignoran, " +"pero debe haber al menos un certificado." #: ../Doc/library/ssl.rst:1554 msgid "New optional argument *cadata*" -msgstr "" +msgstr "Nuevo argumento opcional *cadata*" #: ../Doc/library/ssl.rst:1559 msgid "" @@ -1769,26 +2438,38 @@ msgid "" "certificates from *capath* unless a certificate was requested and loaded by " "a SSL connection." msgstr "" +"Obtiene una lista de certificados de \"autoridad de certificación\" (CA) " +"cargados. Si el parámetro ``binary_form`` es :const:`False` cada entrada de " +"la lista es un diccionario como la salida de :meth:`SSLSocket.getpeercert`. " +"En caso contrario, el método devuelve una lista de certificados codificados " +"con DER. La lista devuelta no contiene certificados de *capath* a menos que " +"un certificado haya sido solicitado y cargado por una conexión SSL." #: ../Doc/library/ssl.rst:1567 msgid "" "Certificates in a capath directory aren't loaded unless they have been used " "at least once." msgstr "" +"Los certificados de un directorio capath no se cargan a menos que se hayan " +"utilizado al menos una vez." #: ../Doc/library/ssl.rst:1574 msgid "" "Get a list of enabled ciphers. The list is in order of cipher priority. See :" "meth:`SSLContext.set_ciphers`." msgstr "" +"Obtiene una lista de cifrados habilitados. La lista está en orden de " +"prioridad de cifrado. Véase :meth:`SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:1597 msgid "On OpenSSL 1.1 and newer the cipher dict contains additional fields::" msgstr "" +"En OpenSSL 1.1 y posterior el diccionario de cifrado contiene campos " +"adicionales::" #: ../Doc/library/ssl.rst:1626 msgid ":ref:`Availability `: OpenSSL 1.0.2+." -msgstr "" +msgstr ":ref:`Availability `: OpenSSL 1.0.2+." #: ../Doc/library/ssl.rst:1631 msgid "" @@ -1799,6 +2480,12 @@ msgid "" "provided as part of the operating system, though, it is likely to be " "configured properly." msgstr "" +"Carga un conjunto de certificados de \"autoridad de certificación\" (CA) por " +"defecto desde una ruta del sistema de archivos definida al construir la " +"biblioteca OpenSSL. Desafortunadamente, no hay una manera fácil de saber si " +"este método tiene éxito: no se devuelve ningún error si no se encuentran " +"certificados. Sin embargo, cuando la biblioteca OpenSSL se proporciona como " +"parte del sistema operativo, es probable que esté configurada correctamente." #: ../Doc/library/ssl.rst:1640 msgid "" @@ -1808,18 +2495,28 @@ msgid "" "compile-time options or other configuration forbids use of all the specified " "ciphers), an :class:`SSLError` will be raised." msgstr "" +"Establece los cifrados disponibles para los sockets creados con este " +"contexto. Debe ser una cadena de caracteres con el `formato de la lista de " +"cifrado de OpenSSL `_. Si no se puede seleccionar ningún cifrado (porque las opciones en " +"tiempo de compilación u otra configuración prohíben el uso de todos los " +"cifrados especificados), se lanzará un :class:`SSLError`." #: ../Doc/library/ssl.rst:1648 msgid "" "when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will give " "the currently selected cipher." msgstr "" +"cuando se conecta, el método :meth:`SSLSocket.cipher` de los sockets SSL " +"dará el cifrado actualmente seleccionado." #: ../Doc/library/ssl.rst:1651 msgid "" "OpenSSL 1.1.1 has TLS 1.3 cipher suites enabled by default. The suites " "cannot be disabled with :meth:`~SSLContext.set_ciphers`." msgstr "" +"OpenSSL 1.1.1 tiene suites de cifrado TLS 1.3 habilitadas por defecto. Las " +"suites no se pueden desactivar con :meth:`~SSLContext.set_ciphers`." #: ../Doc/library/ssl.rst:1656 msgid "" @@ -1830,12 +2527,20 @@ msgid "" "successful handshake, the :meth:`SSLSocket.selected_alpn_protocol` method " "will return the agreed-upon protocol." msgstr "" +"Especifica qué protocolos debe anunciar el socket durante el handshake SSL/" +"TLS. Debe ser una lista de cadenas de caracteres ASCII, como ``['http/1.1', " +"'spdy/2']``, ordenadas por preferencia. La selección de un protocolo " +"ocurrirá durante el handshake, y se desarrollará de acuerdo con :rfc:`7301`. " +"Después de un handshake exitoso, el método :meth:`SSLSocket." +"selected_alpn_protocol` devolverá el protocolo acordado." #: ../Doc/library/ssl.rst:1663 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_ALPN` is " "``False``." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si :data:`HAS_ALPN` es " +"``False``." #: ../Doc/library/ssl.rst:1666 msgid "" @@ -1843,6 +2548,10 @@ msgid "" "when both sides support ALPN but cannot agree on a protocol. 1.1.0f+ behaves " "like 1.0.2, :meth:`SSLSocket.selected_alpn_protocol` returns None." msgstr "" +"OpenSSL 1.1.0 a 1.1.0e abortará el handshake y lanzará :exc:`SSLError` " +"cuando ambos lados soporten ALPN pero no puedan acordar un protocolo. 1.1.0f" +"+ se comporta como 1.0.2, :meth:`SSLSocket.selected_alpn_protocol` devuelve " +"None." #: ../Doc/library/ssl.rst:1674 msgid "" @@ -1855,13 +2564,23 @@ msgid "" "`SSLSocket.selected_npn_protocol` method will return the agreed-upon " "protocol." msgstr "" +"Especifica qué protocolos debe anunciar el socket durante el handshake SSL/" +"TLS. Debe ser una lista de cadenas, como ``['http/1.1', 'spdy/2']``, " +"ordenadas por preferencia. La selección de un protocolo ocurrirá durante el " +"handshake, y se desarrollará de acuerdo a la `Negociación del Protocolo de " +"la Capa de Aplicación `_. Después de un handshake exitoso, el método :" +"meth:`SSLSocket.selected_npn_protocol` devolverá el protocolo acordado." #: ../Doc/library/ssl.rst:1682 msgid "" "This method will raise :exc:`NotImplementedError` if :data:`HAS_NPN` is " "``False``." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si :data:`HAS_NPN` es " +"``False``." +# No traduzco el título de la sección 3 de la RFC porque la RFC está sólo en inglés. #: ../Doc/library/ssl.rst:1689 msgid "" "Register a callback function that will be called after the TLS Client Hello " @@ -1869,6 +2588,11 @@ msgid "" "client specifies a server name indication. The server name indication " "mechanism is specified in :rfc:`6066` section 3 - Server Name Indication." msgstr "" +"Registra una función callback que se llamará después de que el servidor SSL/" +"TLS haya recibido el mensaje de diálogo TLS Client Hello cuando el cliente " +"TLS especifique una indicación de nombre de servidor. El mecanismo de " +"indicación de nombre de servidor se especifica en :rfc:`6066` sección 3 - " +"Server Name Indication." #: ../Doc/library/ssl.rst:1694 msgid "" @@ -1876,6 +2600,10 @@ msgid "" "to ``None`` then the callback is disabled. Calling this function a " "subsequent time will disable the previously registered callback." msgstr "" +"Sólo se puede establecer una función callback por ``SSLContext``. Si " +"*sni_callback* se establece como ``None``, la función callback se desactiva. " +"Si se llama a esta función una vez más, se desactivará la función callback " +"registrada anteriormente." #: ../Doc/library/ssl.rst:1698 msgid "" @@ -1887,6 +2615,13 @@ msgid "" "internationalized domain name, the server name is an IDN A-label (``\"xn--" "pythn-mua.org\"``)." msgstr "" +"La función callback será llamada con tres argumentos; el primero es el :" +"class:`ssl.SSLSocket`, el segundo es una cadena que representa el nombre del " +"servidor con el que el cliente pretende comunicarse (o :const:`None` si el " +"TLS Client Hello no contiene un nombre de servidor) y el tercer argumento es " +"el :class:`SSLContext` original. El argumento del nombre del servidor es un " +"texto. En el caso de los nombres de dominio internacionalizados, el nombre " +"del servidor es un IDN etiqueta A (``\"xn--pythn-mua.org\"``)." #: ../Doc/library/ssl.rst:1706 msgid "" @@ -1894,6 +2629,10 @@ msgid "" "attr:`SSLSocket.context` attribute to a new object of type :class:" "`SSLContext` representing a certificate chain that matches the server name." msgstr "" +"Un uso típico de esta función callback es cambiar el atributo :attr:" +"`SSLSocket.context` de :class:`ssl.SSLSocket` por un nuevo objeto de tipo :" +"class:`SSLContext` que representa una cadena de certificados que coincide " +"con el nombre del servidor." #: ../Doc/library/ssl.rst:1711 msgid "" @@ -1905,6 +2644,13 @@ msgid "" "progressed beyond the TLS Client Hello and therefore will not contain return " "meaningful values nor can they be called safely." msgstr "" +"Debido a la fase temprana de negociación de la conexión TLS, sólo se pueden " +"utilizar métodos y atributos limitados como :meth:`SSLSocket." +"selected_alpn_protocol` y :attr:`SSLSocket.context`. Los métodos :meth:" +"`SSLSocket.getpeercert`, :meth:`SSLSocket. getpeercert`, :meth:`SSLSocket." +"cipher` y :meth:`SSLSocket.compress` requieren que la conexión TLS haya " +"progresado más allá del TLS Client Hello y, por tanto, no contendrán valores " +"de retorno significativos ni podrán ser llamados con seguridad." #: ../Doc/library/ssl.rst:1719 msgid "" @@ -1914,6 +2660,11 @@ msgid "" "Other return values will result in a TLS fatal error with :const:" "`ALERT_DESCRIPTION_INTERNAL_ERROR`." msgstr "" +"La función *sni_callback* debe devolver ``None`` para permitir que la " +"negociación TLS continúe. Si se requiere un fallo TLS, se puede devolver una " +"constante :const:`ALERT_DESCRIPTION_* `. " +"Otros valores de retorno resultarán en un error fatal TLS con :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR`." #: ../Doc/library/ssl.rst:1725 msgid "" @@ -1921,12 +2672,17 @@ msgid "" "connection will terminate with a fatal TLS alert message :const:" "`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." msgstr "" +"Si se lanza una excepción desde la función *sni_callback* la conexión TLS " +"terminará con un mensaje de alerta TLS fatal :const:" +"`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." #: ../Doc/library/ssl.rst:1729 msgid "" "This method will raise :exc:`NotImplementedError` if the OpenSSL library had " "OPENSSL_NO_TLSEXT defined when it was built." msgstr "" +"Este método lanzará :exc:`NotImplementedError` si la biblioteca OpenSSL " +"tenía definido OPENSSL_NO_TLSEXT cuando se construyó." #: ../Doc/library/ssl.rst:1736 msgid "" @@ -1936,6 +2692,12 @@ msgid "" "server hostname is an IDN-encoded internationalized domain name, the " "*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "" +"Se trata de una API heredada que se mantiene por compatibilidad con " +"versiones anteriores. Cuando sea posible, debería utilizar :attr:" +"`sni_callback` en su lugar. El *server_name_callback* dado es similar a " +"*sni_callback*, excepto que cuando el nombre del servidor es un nombre de " +"dominio internacionalizado codificado con IDN, el *server_name_callback* " +"recibe una etiqueta U decodificada (``\"pythön.org\"``)." #: ../Doc/library/ssl.rst:1742 msgid "" @@ -1943,6 +2705,9 @@ msgid "" "terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " "message to the client." msgstr "" +"Si hay un error de decodificación en el nombre del servidor, la conexión TLS " +"terminará con un mensaje fatal de alerta TLS :const:" +"`ALERT_DESCRIPTION_INTERNAL_ERROR` al cliente." #: ../Doc/library/ssl.rst:1750 msgid "" @@ -1952,12 +2717,20 @@ msgid "" "parameter should be the path to a file containing DH parameters in PEM " "format." msgstr "" +"Carga los parámetros de generación de claves para el intercambio de claves " +"Diffie-Hellman (DH). El uso del intercambio de claves DH mejora el secreto " +"hacia adelante a expensas de recursos computacionales (tanto en el servidor " +"como en el cliente). El parámetro *dhfile* debe ser la ruta de un archivo " +"que contenga los parámetros DH en formato PEM." #: ../Doc/library/ssl.rst:1756 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_DH_USE` option to further improve security." msgstr "" +"Esta configuración no se aplica a los sockets de los clientes. También puede " +"utilizar la opción :data:`OP_SINGLE_DH_USE` para mejorar aún más la " +"seguridad." #: ../Doc/library/ssl.rst:1763 msgid "" @@ -1967,26 +2740,36 @@ msgid "" "known elliptic curve, for example ``prime256v1`` for a widely supported " "curve." msgstr "" +"Establece el nombre de la curva para el intercambio de claves Diffie-Hellman " +"basado en la curva elíptica (ECDH). ECDH es significativamente más rápido " +"que el DH normal, aunque podría decirse que es igual de seguro. El parámetro " +"*curve_name* debe ser una cadena que describa una curva elíptica conocida, " +"por ejemplo ``prime256v1`` para una curva ampliamente soportada." #: ../Doc/library/ssl.rst:1769 msgid "" "This setting doesn't apply to client sockets. You can also use the :data:" "`OP_SINGLE_ECDH_USE` option to further improve security." msgstr "" +"Esta configuración no se aplica a los sockets de los clientes. También puede " +"utilizar la opción :data:`OP_SINGLE_ECDH_USE` para mejorar aún más la " +"seguridad." #: ../Doc/library/ssl.rst:1772 msgid "This method is not available if :data:`HAS_ECDH` is ``False``." -msgstr "" +msgstr "Este método no está disponible si :data:`HAS_ECDH` es ``False``." #: ../Doc/library/ssl.rst:1777 msgid "" "`SSL/TLS & Perfect Forward Secrecy `_" msgstr "" +"`SSL/TLS & Perfect Forward Secrecy `_" #: ../Doc/library/ssl.rst:1778 msgid "Vincent Bernat." -msgstr "" +msgstr "Vincent Bernat." #: ../Doc/library/ssl.rst:1784 msgid "" @@ -1995,12 +2778,19 @@ msgid "" "socket is tied to the context, its settings and certificates. *sock* must be " "a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" +"Envuelve un socket Python existente *sock* y devuelve una instancia de :attr:" +"`SSLContext.sslsocket_class` (por defecto :class:`SSLSocket`). El socket SSL " +"devuelto está ligado al contexto, su configuración y certificados. *sock* " +"debe ser un socket :data:`~socket.SOCK_STREAM`; otros tipos de socket no son " +"soportados." #: ../Doc/library/ssl.rst:1790 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" +"El parámetro ``server_side`` es un booleano que identifica si se desea un " +"comportamiento del lado del servidor o del lado del cliente en este socket." #: ../Doc/library/ssl.rst:1793 msgid "" @@ -2012,6 +2802,13 @@ msgid "" "connections accepted via the :meth:`accept` method. The method may raise :" "exc:`SSLError`." msgstr "" +"Para los sockets del lado del cliente, la construcción del contexto es " +"perezosa; si el socket subyacente no está conectado todavía, la construcción " +"del contexto se realizará después de llamar a :meth:`connect` en el socket. " +"Para los sockets del lado del servidor, si el socket no tiene un par remoto, " +"se asume que es un socket a la escucha, y la envoltura SSL del lado del " +"servidor se realiza automáticamente en las conexiones del cliente aceptadas " +"a través del método :meth:`accept`. El método puede lanzar :exc:`SSLError`." #: ../Doc/library/ssl.rst:1801 msgid "" @@ -2021,6 +2818,12 @@ msgid "" "certificates, quite similarly to HTTP virtual hosts. Specifying " "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" +"En las conexiones de cliente, el parámetro opcional *server_hostname* " +"especifica el nombre del servicio al que nos estamos conectando. Esto " +"permite que un único servidor aloje varios servicios basados en SSL con " +"certificados distintos, de forma similar a los hosts virtuales HTTP. Al " +"especificar *server_hostname* se producirá un :exc:`ValueError` si " +"*server_side* es verdadero." #: ../Doc/library/ssl.rst:1807 msgid "" @@ -2031,6 +2834,12 @@ msgid "" "explicitly gives the program control over the blocking behavior of the " "socket I/O involved in the handshake." msgstr "" +"El parámetro ``do_handshake_on_connect`` especifica si se hace el handshake " +"SSL automáticamente después de hacer un :meth:`socket.connect`, o si el " +"programa de aplicación lo llamará explícitamente, invocando el método :meth:" +"`SSLSocket.do_handshake`. Llamar explícitamente a :meth:`SSLSocket." +"do_handshake` da al programa el control sobre el comportamiento de bloqueo " +"de la E/S del socket involucrada en el handshake." #: ../Doc/library/ssl.rst:1814 msgid "" @@ -2041,26 +2850,35 @@ msgid "" "raised from the underlying socket; if :const:`False`, it will raise the " "exceptions back to the caller." msgstr "" +"El parámetro ``suppress_ragged_eofs`` especifica cómo el método :meth:" +"`SSLSocket.recv` debe señalar los EOF inesperados desde el otro extremo de " +"la conexión. Si se especifica como :const:`True` (el valor por defecto), " +"devuelve un EOF normal (un objeto bytes vacío) en respuesta a los errores " +"EOF inesperados que se produzcan desde el socket subyacente; si :const:" +"`False`, lanzará las excepciones al llamador." #: ../Doc/library/ssl.rst:1821 msgid "*session*, see :attr:`~SSLSocket.session`." -msgstr "" +msgstr "*session*, véase :attr:`~SSLSocket.session`." #: ../Doc/library/ssl.rst:1823 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" +"Siempre permite pasar un server_hostname, incluso si OpenSSL no tiene SNI." #: ../Doc/library/ssl.rst:1827 ../Doc/library/ssl.rst:1853 msgid "*session* argument was added." -msgstr "" +msgstr "Se agregó el argumento *session*." #: ../Doc/library/ssl.rst:1830 msgid "" "The method returns on instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" +"El método retorna una instancia de :attr:`SSLContext.sslsocket_class` en " +"lugar de un :class:`SSLSocket` hard-coded." #: ../Doc/library/ssl.rst:1836 msgid "" @@ -2068,6 +2886,9 @@ msgid "" "`SSLSocket`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLSocket`." msgstr "" +"El tipo de retorno de :meth:`SSLContext.wrap_socket`, por defecto es :class:" +"`SSLSocket`. El atributo puede anularse en la instancia de la clase para " +"devolver una subclase personalizada de :class:`SSLSocket`." #: ../Doc/library/ssl.rst:1845 msgid "" @@ -2076,18 +2897,26 @@ msgid "" "routines will read input data from the incoming BIO and write data to the " "outgoing BIO." msgstr "" +"Envuelve los objetos BIO *incoming* y *outgoing* y devuelve una instancia " +"de :attr:`SSLContext.sslobject_class` (por defecto :class:`SSLObject`). Las " +"rutinas SSL leerán los datos de entrada de la BIO entrante y escribirán los " +"datos en la BIO saliente." #: ../Doc/library/ssl.rst:1850 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " "meaning as in :meth:`SSLContext.wrap_socket`." msgstr "" +"Los parámetros *server_side*, *server_hostname* y *session* tienen el mismo " +"significado que en :meth:`SSLContext.wrap_socket`." #: ../Doc/library/ssl.rst:1856 msgid "" "The method returns on instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" +"El método retorna una instancia de :attr:`SSLContext.sslobject_class` en " +"lugar de un :class:`SSLObject` hard-coded." #: ../Doc/library/ssl.rst:1862 msgid "" @@ -2095,6 +2924,9 @@ msgid "" "`SSLObject`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLObject`." msgstr "" +"El tipo de retorno de :meth:`SSLContext.wrap_bio`, por defecto es :class:" +"`SSLObject`. El atributo puede anularse en la instancia de la clase para " +"devolver una subclase personalizada de :class:`SSLObject`." #: ../Doc/library/ssl.rst:1870 msgid "" @@ -2104,6 +2936,12 @@ msgid "" "their numeric values. For example, here is the total number of hits and " "misses in the session cache since the context was created::" msgstr "" +"Obtiene estadísticas sobre las sesiones SSL creadas o gestionadas por este " +"contexto. Se devuelve un diccionario que asigna los nombres de cada `pieza " +"de información `_ a sus valores numéricos. Por ejemplo, aquí está " +"el número total de aciertos y errores en la caché de sesión desde que se " +"creó el contexto::" #: ../Doc/library/ssl.rst:1881 msgid "" @@ -2118,6 +2956,17 @@ msgid "" "by default. With other protocols, hostname checking must be enabled " "explicitly." msgstr "" +"Si se compara el hostname del certificado par con :func:`match_hostname` en :" +"meth:`SSLSocket.do_handshake`. El :attr:`~SSLContext.verify_mode` del " +"contexto debe establecerse como :data:`CERT_OPTIONAL` o :data:" +"`CERT_REQUIRED`, y debe pasar *server_hostname* a :meth:`~SSLContext." +"wrap_socket` para que coincida el nombre de host. La activación de la " +"comprobación del hostname establece automáticamente :attr:`~SSLContext." +"verify_mode` de :data:`CERT_NONE` a :data:`CERT_REQUIRED`. No puede volver a " +"establecerse en :data:`CERT_NONE` mientras la comprobación de hostname esté " +"activada. El protocolo :data:`PROTOCOL_TLS_CLIENT` activa la comprobación de " +"hostname por defecto. Con otros protocolos, la comprobación del hostname " +"debe ser activada explícitamente." #: ../Doc/library/ssl.rst:1909 msgid "" @@ -2126,10 +2975,14 @@ msgid "" "verify_mode` is :data:`CERT_NONE`. Previously the same operation would have " "failed with a :exc:`ValueError`." msgstr "" +":attr:`~SSLContext.verify_mode` ahora se cambia automáticamente a :data:" +"`CERT_REQUIRED` cuando la comprobación del hostname está activada y :attr:" +"`~SSLContext.verify_mode` es :data:`CERT_NONE`. Anteriormente la misma " +"operación habría fallado con un :exc:`ValueError`." #: ../Doc/library/ssl.rst:1916 msgid "This features requires OpenSSL 0.9.8f or newer." -msgstr "" +msgstr "Esta funcionalidad requiere OpenSSL 0.9.8f o posterior." #: ../Doc/library/ssl.rst:1920 msgid "" @@ -2139,10 +2992,16 @@ msgid "" "Wireshark. The log file is opened in append-only mode. Writes are " "synchronized between threads, but not between processes." msgstr "" +"Escribe las claves TLS en un archivo keylog, siempre que se genere o reciba " +"material de claves. El archivo keylog está diseñado únicamente para fines de " +"depuración. El formato del archivo está especificado por NSS y es utilizado " +"por muchos analizadores de tráfico como Wireshark. El archivo de registro se " +"abre en modo sólo añadir. Las escrituras se sincronizan entre hilos, pero no " +"entre procesos." #: ../Doc/library/ssl.rst:1930 msgid "This features requires OpenSSL 1.1.1 or newer." -msgstr "" +msgstr "Esta funcionalidad requiere OpenSSL 1.1.1 o posterior." #: ../Doc/library/ssl.rst:1934 msgid "" @@ -2151,6 +3010,11 @@ msgid "" "attribute is read-only for protocols other than :attr:`PROTOCOL_TLS`, :attr:" "`PROTOCOL_TLS_CLIENT`, and :attr:`PROTOCOL_TLS_SERVER`." msgstr "" +"Un miembro enumeración de :class:`TLSVersion` que representa la versión más " +"alta de TLS soportada. El valor por defecto es :attr:`TLSVersion." +"MAXIMUM_SUPPORTED`. El atributo es de sólo lectura para protocolos distintos " +"de :attr:`PROTOCOL_TLS`, :attr:`PROTOCOL_TLS_CLIENT` y :attr:" +"`PROTOCOL_TLS_SERVER`." #: ../Doc/library/ssl.rst:1939 msgid "" @@ -2161,18 +3025,28 @@ msgid "" "`~SSLContext.options` and :attr:`~SSLContext.maximum_version` set to :attr:" "`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." msgstr "" +"Los atributos :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." +"minimum_version` y :attr:`SSLContext.options` afectan a las versiones SSL y " +"TLS soportadas del contexto. La implementación no evita la combinación " +"inválida. Por ejemplo, un contexto con :attr:`OP_NO_TLSv1_2` en :attr:" +"`~SSLContext.options` y :attr:`~SSLContext.maximum_version` establecido en :" +"attr:`TLSVersion.TLSv1_2` no podrá establecer una conexión TLS 1.2." #: ../Doc/library/ssl.rst:1950 ../Doc/library/ssl.rst:1962 msgid "" "This attribute is not available unless the ssl module is compiled with " "OpenSSL 1.1.0g or newer." msgstr "" +"Este atributo no está disponible a menos que el módulo ssl haya sido " +"compilado con OpenSSL 1.1.0g o posterior." #: ../Doc/library/ssl.rst:1957 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" +"Igual que :attr:`SSLContext.maximum_version` excepto que es la versión más " +"baja soportada o :attr:`TLSVersion.MINIMUM_SUPPORTED`." #: ../Doc/library/ssl.rst:1969 msgid "" @@ -2180,12 +3054,17 @@ msgid "" "`TLS_PROTOCOL_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " "connections." msgstr "" +"Controla el número de tickets de sesión TLS 1.3 de un contexto :attr:" +"`TLS_PROTOCOL_SERVER`. El ajuste no tiene impacto en las conexiones TLS 1.0 " +"a 1.2." #: ../Doc/library/ssl.rst:1975 msgid "" "This attribute is not available unless the ssl module is compiled with " "OpenSSL 1.1.1 or newer." msgstr "" +"Este atributo no está disponible a menos que el módulo ssl haya sido " +"compilado con OpenSSL 1.1.1 o posterior." #: ../Doc/library/ssl.rst:1982 msgid "" @@ -2193,6 +3072,10 @@ msgid "" "default value is :data:`OP_ALL`, but you can specify other options such as :" "data:`OP_NO_SSLv2` by ORing them together." msgstr "" +"Un número entero que representa el conjunto de opciones SSL habilitadas en " +"este contexto. El valor por defecto es :data:`OP_ALL`, pero se pueden " +"especificar otras opciones como :data:`OP_NO_SSLv2` mediante la combinación " +"OR." #: ../Doc/library/ssl.rst:1987 msgid "" @@ -2200,10 +3083,13 @@ msgid "" "options, not to clear them. Attempting to clear an option (by resetting the " "corresponding bits) will raise a :exc:`ValueError`." msgstr "" +"Con versiones de OpenSSL anteriores a la 0.9.8m, sólo es posible establecer " +"opciones, no borrarlas. Si se intenta borrar una opción (restableciendo los " +"bits correspondientes) se producirá un :exc:`ValueError`." #: ../Doc/library/ssl.rst:1991 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" -msgstr "" +msgstr ":attr:`SSLContext.options` retorna opciones :class:`Options`:" #: ../Doc/library/ssl.rst:1999 msgid "" @@ -2212,12 +3098,19 @@ msgid "" "during the initial handshake. When enabled, a server may request a TLS " "client certificate at any time after the handshake." msgstr "" +"Habilita la autenticación del cliente TLS 1.3 post-handshake. La " +"autenticación post-handshake está deshabilitada por defecto y un servidor " +"sólo puede solicitar un certificado de cliente TLS durante el handshake " +"inicial. Cuando se habilita, un servidor puede solicitar un certificado de " +"cliente TLS en cualquier momento después del handshake." #: ../Doc/library/ssl.rst:2004 msgid "" "When enabled on client-side sockets, the client signals the server that it " "supports post-handshake authentication." msgstr "" +"Cuando se activa en los sockets del lado del cliente, el cliente indica al " +"servidor que soporta la autenticación post-handshake." #: ../Doc/library/ssl.rst:2007 msgid "" @@ -2226,18 +3119,27 @@ msgid "" "client cert exchange is delayed until :meth:`SSLSocket." "verify_client_post_handshake` is called and some I/O is performed." msgstr "" +"Cuando se activa en los sockets del lado del servidor, :attr:`SSLContext." +"verify_mode` debe establecerse también como :data:`CERT_OPTIONAL` o :data:" +"`CERT_REQUIRED`. El intercambio real de certificados del cliente se retrasa " +"hasta que se llama a :meth:`SSLSocket.verify_client_post_handshake` y se " +"realiza alguna E/S." #: ../Doc/library/ssl.rst:2014 msgid "" "Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " "support, the property value is None and can't be modified" msgstr "" +"Sólo está disponible con OpenSSL 1.1.1 y TLS 1.3 habilitados. Sin soporte de " +"TLS 1.3, el valor de la propiedad es None y no puede ser modificado" #: ../Doc/library/ssl.rst:2021 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" +"La versión del protocolo elegida cuando se construyó el contexto. Este " +"atributo es de sólo lectura." #: ../Doc/library/ssl.rst:2026 msgid "" @@ -2245,10 +3147,13 @@ msgid "" "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" +"Si :attr:`~SSLContext.check_hostname` vuelve a verificar el nombre común del " +"sujeto del certificado en ausencia de una extensión de nombre alternativo " +"del sujeto (por defecto: true)." #: ../Doc/library/ssl.rst:2031 msgid "Only writeable with OpenSSL 1.1.0 or higher." -msgstr "" +msgstr "Solo modificable con OpenSSL 1.1.0 o posterior." #: ../Doc/library/ssl.rst:2037 msgid "" @@ -2257,10 +3162,15 @@ msgid "" "neither require nor verify certificate revocation lists (CRLs). Available " "only with openssl version 0.9.8+." msgstr "" +"Los indicadores para las operaciones de verificación de certificados. Se " +"pueden establecer indicadores como :data:`VERIFY_CRL_CHECK_LEAF` mediante la " +"combinación OR. Por defecto, OpenSSL no requiere ni verifica las listas de " +"revocación de certificados (CRL). Disponible sólo con la versión 0.9.8+ de " +"openssl." #: ../Doc/library/ssl.rst:2044 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" -msgstr "" +msgstr ":attr:`SSLContext.verify_flags` retorna opciones :class:`VerifyFlags`:" #: ../Doc/library/ssl.rst:2052 msgid "" @@ -2268,14 +3178,17 @@ msgid "" "verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" "`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" +"Si se intenta verificar los certificados de otros pares y cómo comportarse " +"si la verificación falla. Este atributo debe ser uno de los siguientes: :" +"data:`CERT_NONE`, :data:`CERT_OPTIONAL` o :data:`CERT_REQUIRED`." #: ../Doc/library/ssl.rst:2056 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" -msgstr "" +msgstr ":attr:`SSLContext.verify_mode` retorna :class:`VerifyMode` enum:" #: ../Doc/library/ssl.rst:2069 msgid "Certificates" -msgstr "" +msgstr "Certificados" #: ../Doc/library/ssl.rst:2071 msgid "" @@ -2287,6 +3200,14 @@ msgid "" "if you encrypt a message with one of the parts, you can decrypt it with the " "other part, and **only** with the other part." msgstr "" +"En general, los certificados forman parte de un sistema de clave pública/" +"clave privada. En este sistema, a cada *principal* (que puede ser una " +"máquina, una persona o una organización) se le asigna una clave de cifrado " +"única de dos partes. Una parte de la clave es pública y se llama *clave " +"pública*; la otra parte se mantiene en secreto y se llama *clave privada*. " +"Las dos partes están relacionadas, en el sentido de que si se cifra un " +"mensaje con una de las partes, se puede descifrar con la otra parte, y " +"**sólo** con la otra parte." #: ../Doc/library/ssl.rst:2079 msgid "" @@ -2301,6 +3222,16 @@ msgid "" "information about the time period over which it is valid. This is expressed " "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" +"Un certificado contiene información sobre dos sujetos. Contiene el nombre de " +"un *sujeto*, y la clave pública del sujeto. También contiene una declaración " +"de un segundo titular, el *emisor*, de que el sujeto es quien dice ser, y de " +"que ésta es efectivamente la clave pública del sujeto. La declaración del " +"emisor está firmada con su clave privada, que sólo el emisor conoce. Sin " +"embargo, cualquiera puede verificar la declaración del emisor encontrando la " +"clave pública del emisor, descifrando la declaración con ella y comparándola " +"con el resto de la información del certificado. El certificado también " +"contiene información sobre el periodo de tiempo en el que es válido. Esto se " +"expresa en dos campos, llamados *notBefore* y *notAfter*." #: ../Doc/library/ssl.rst:2089 msgid "" @@ -2314,6 +3245,16 @@ msgid "" "does usually need to provide sets of certificates to allow this process to " "take place." msgstr "" +"En el uso de certificados en Python, un cliente o servidor puede utilizar un " +"certificado para demostrar quién es. El otro lado de una conexión de red " +"también puede ser requerido para producir un certificado, y ese certificado " +"puede ser validado a la satisfacción del cliente o servidor que requiere " +"dicha validación. El intento de conexión puede configurarse para que lance " +"una excepción si la validación falla. La validación se realiza " +"automáticamente, por el subyacente framework OpenSSL; la aplicación no " +"necesita preocuparse de su mecánica. Sin embargo, la aplicación normalmente " +"necesita proporcionar conjuntos de certificados para permitir que este " +"proceso tenga lugar." #: ../Doc/library/ssl.rst:2099 msgid "" @@ -2321,10 +3262,13 @@ msgid "" "\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a header " "line and a footer line::" msgstr "" +"Python utiliza archivos para contener certificados. Deben ser formateados " +"como \"PEM\" (ver :rfc:`1422`), que es una forma codificada en base-64 " +"envuelta con una línea de cabecera y una línea de pie de página::" #: ../Doc/library/ssl.rst:2108 msgid "Certificate chains" -msgstr "" +msgstr "Cadenas de certificados" #: ../Doc/library/ssl.rst:2110 msgid "" @@ -2341,10 +3285,23 @@ msgid "" "authority that signed our server certificate, to the root certificate of the " "agency which issued the certification authority's certificate::" msgstr "" +"Los archivos de Python que contienen certificados pueden contener una " +"secuencia de certificados, a veces llamada *cadena de certificados*. Esta " +"cadena debería empezar con el certificado específico para el principal que " +"\"es\" el cliente o servidor, y luego el certificado para el emisor de ese " +"certificado, y luego el certificado para el emisor de *ese* certificado, y " +"así sucesivamente hasta llegar a un certificado que es *auto-firmado*, es " +"decir, un certificado que tiene el mismo sujeto y emisor, a veces llamado " +"*certificado raíz*. Los certificados sólo deben concatenarse en el archivo " +"de certificados. Por ejemplo, supongamos que tenemos una cadena de tres " +"certificados, desde el certificado de nuestro servidor al certificado de la " +"autoridad de certificación que firmó nuestro certificado del servidor, hasta " +"el certificado raíz de la agencia que emitió el certificado de la autoridad " +"de certificación::" #: ../Doc/library/ssl.rst:2134 msgid "CA certificates" -msgstr "" +msgstr "Certificados CA" #: ../Doc/library/ssl.rst:2136 msgid "" @@ -2357,10 +3314,18 @@ msgid "" "load_default_certs`, this is done automatically with :func:`." "create_default_context`." msgstr "" +"Si se requiere la validación del certificado del otro lado de la conexión, " +"se necesita proporcionar un archivo \"CA certs\", con las cadenas de " +"certificados para cada emisor en el que se está dispuesto a confiar. De " +"nuevo, este archivo sólo contiene estas cadenas concatenadas. Para la " +"validación, Python utilizará la primera cadena que encuentre en el archivo " +"que coincida. El archivo de certificados de la plataforma se puede utilizar " +"llamando a :meth:`SSLContext.load_default_certs`, esto se hace " +"automáticamente con :func:`.create_default_context`." #: ../Doc/library/ssl.rst:2145 msgid "Combined key and certificate" -msgstr "" +msgstr "Clave y certificado combinados" #: ../Doc/library/ssl.rst:2147 msgid "" @@ -2370,10 +3335,15 @@ msgid "" "with the certificate, it should come before the first certificate in the " "certificate chain::" msgstr "" +"A menudo la clave privada se almacena en el mismo archivo que el " +"certificado; en este caso, sólo es necesario pasar el parámetro ``certfile`` " +"a :meth:`SSLContext.load_cert_chain` y :func:`wrap_socket`. Si la clave " +"privada se almacena con el certificado, debe ir antes del primer certificado " +"de la cadena de certificados::" #: ../Doc/library/ssl.rst:2161 msgid "Self-signed certificates" -msgstr "" +msgstr "Certificados auto-firmados" #: ../Doc/library/ssl.rst:2163 msgid "" @@ -2384,6 +3354,12 @@ msgid "" "signed certificate. The simplest way to do this is with the OpenSSL " "package, using something like the following::" msgstr "" +"Si va a crear un servidor que proporcione servicios de conexión encriptada " +"SSL, necesitará adquirir un certificado para ese servicio. Hay muchas formas " +"de adquirir los certificados adecuados, como comprar uno a una autoridad de " +"certificación. Otra práctica común es generar un certificado auto-firmado. " +"La forma más sencilla de hacerlo es con el paquete OpenSSL, utilizando algo " +"como lo siguiente:" #: ../Doc/library/ssl.rst:2192 msgid "" @@ -2391,36 +3367,47 @@ msgid "" "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" +"La desventaja de un certificado auto-firmado es que es su propio certificado " +"raíz, y nadie más lo tendrá en su caché de certificados raíz conocidos (y de " +"confianza)." #: ../Doc/library/ssl.rst:2198 msgid "Examples" -msgstr "" +msgstr "Ejemplos" #: ../Doc/library/ssl.rst:2201 msgid "Testing for SSL support" -msgstr "" +msgstr "Pruebas de compatibilidad con SSL" #: ../Doc/library/ssl.rst:2203 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" +"Para comprobar la presencia de soporte SSL en una instalación de Python, el " +"código del usuario debe utilizar el siguiente modismo::" #: ../Doc/library/ssl.rst:2214 msgid "Client-side operation" -msgstr "" +msgstr "Operación del lado del cliente" #: ../Doc/library/ssl.rst:2216 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" +"Este ejemplo crea un contexto SSL con la configuración de seguridad " +"recomendada para los sockets del cliente, incluyendo la verificación " +"automática de certificados::" #: ../Doc/library/ssl.rst:2221 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" +"Si prefieres ajustar la configuración de seguridad tú mismo, puedes crear un " +"contexto desde cero (pero ten en cuenta que podrías no acertar con la " +"configuración)::" #: ../Doc/library/ssl.rst:2228 msgid "" @@ -2428,6 +3415,9 @@ msgid "" "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" +"(este fragmento asume que tu sistema operativo coloca un paquete de todos " +"los certificados CA en ``/etc/ssl/certs/ca-bundle.crt``; si no es así, " +"obtendrá un error y tendrá que ajustar la ubicación)" #: ../Doc/library/ssl.rst:2232 msgid "" @@ -2436,6 +3426,11 @@ msgid "" "to :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` is set to " "``True``. All other protocols create SSL contexts with insecure defaults." msgstr "" +"El protocolo :data:`PROTOCOL_TLS_CLIENT` configura el contexto para la " +"validación de certificados y la verificación del hostname. :attr:" +"`~SSLContext.verify_mode` se establece en :data:`CERT_REQUIRED` y :attr:" +"`~SSLContext.check_hostname` se establece en ``True``. Todos los demás " +"protocolos crean contextos SSL con valores predeterminados inseguros." #: ../Doc/library/ssl.rst:2237 msgid "" @@ -2445,26 +3440,36 @@ msgid "" "certificates, checks the signature for correctness, and verifies other " "properties like validity and identity of the hostname::" msgstr "" +"Cuando se utiliza el contexto para conectarse a un servidor, :const:" +"`CERT_REQUIRED` y :attr:`~SSLContext.check_hostname` validan el certificado " +"del servidor: se asegura de que el certificado del servidor se ha firmado " +"con uno de los certificados de la CA, se comprueba que la firma es correcta " +"y se verifican otras propiedades como la validez y la identidad del " +"hostname::" #: ../Doc/library/ssl.rst:2247 msgid "You may then fetch the certificate::" -msgstr "" +msgstr "A continuación, puede obtener el certificado::" #: ../Doc/library/ssl.rst:2251 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" +"La inspección visual muestra que el certificado sí identifica el servicio " +"deseado (es decir, el host HTTPS ``www.python.org``)::" #: ../Doc/library/ssl.rst:2294 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" +"Ahora que se ha establecido el canal SSL y se ha verificado el certificado, " +"se puede proceder a hablar con el servidor::" #: ../Doc/library/ssl.rst:2321 msgid "Server-side operation" -msgstr "" +msgstr "Operación del lado del servidor" #: ../Doc/library/ssl.rst:2323 msgid "" @@ -2474,6 +3479,12 @@ msgid "" "you'll open a socket, bind it to a port, call :meth:`listen` on it, and " "start waiting for clients to connect::" msgstr "" +"Para el funcionamiento del servidor, normalmente necesitarás tener un " +"certificado de servidor y una clave privada, cada uno en un archivo. Primero " +"crearás un contexto que contenga la clave y el certificado, para que los " +"clientes puedan comprobar tu autenticidad. Entonces abrirás un socket, lo " +"enlazarás a un puerto, llamarás a :meth:`listen` en él, y empezarás a " +"esperar a que los clientes se conecten::" #: ../Doc/library/ssl.rst:2338 msgid "" @@ -2481,12 +3492,18 @@ msgid "" "new socket from the other end, and use the context's :meth:`SSLContext." "wrap_socket` method to create a server-side SSL socket for the connection::" msgstr "" +"Cuando un cliente se conecta, llamarás a :meth:`accept` en el socket para " +"obtener el nuevo socket del otro extremo, y utilizarás el método :meth:" +"`SSLContext.wrap_socket` del contexto para crear un socket SSL del lado del " +"servidor para la conexión::" #: ../Doc/library/ssl.rst:2351 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" +"Entonces leerás los datos del ``connstream`` y harás algo con ellos hasta " +"que hayas terminado con el cliente (o el cliente haya terminado contigo)::" #: ../Doc/library/ssl.rst:2365 msgid "" @@ -2495,10 +3512,14 @@ msgid "" "put the sockets in :ref:`non-blocking mode ` and use an " "event loop)." msgstr "" +"Y volver a escuchar nuevas conexiones de clientes (por supuesto, un servidor " +"real probablemente manejaría cada conexión de cliente en un hilo separado, o " +"pondría los sockets en modo :ref:`no-bloqueo ` y usaría un " +"bucle de eventos)." #: ../Doc/library/ssl.rst:2373 msgid "Notes on non-blocking sockets" -msgstr "" +msgstr "Notas sobre los sockets no bloqueantes" #: ../Doc/library/ssl.rst:2375 msgid "" @@ -2506,6 +3527,9 @@ msgid "" "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" +"Los sockets SSL se comportan de forma ligeramente diferente a los sockets " +"normales en modo no bloqueante. Cuando se trabaja con sockets no " +"bloqueantes, hay varias cosas que hay que tener en cuenta:" #: ../Doc/library/ssl.rst:2379 msgid "" @@ -2518,12 +3542,24 @@ msgid "" "underlying socket first, and attempts to *read* from the SSL socket may " "require a prior *write* to the underlying socket." msgstr "" +"La mayoría de los métodos de :class:`SSLSocket` lanzarán :exc:" +"`SSLWantWriteError` o :exc:`SSLWantReadError` en lugar de :exc:" +"`BlockingIOError` si una operación de E/S se bloquea. :exc:" +"`SSLWantReadError` se lanzará si es necesaria una operación de lectura en el " +"socket subyacente, y :exc:`SSLWantWriteError` para una operación de " +"escritura en el socket subyacente. Tenga en cuenta que los intentos de " +"*escribir* en un socket SSL pueden requerir *leer* del socket subyacente " +"primero, y los intentos de *leer* del socket SSL pueden requerir una " +"*escritura* previa en el socket subyacente." #: ../Doc/library/ssl.rst:2391 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" +"En versiones anteriores de Python, el método :meth:`!SSLSocket.send` " +"devolvía cero en lugar de lanzar :exc:`SSLWantWriteError` o :exc:" +"`SSLWantReadError`." #: ../Doc/library/ssl.rst:2395 msgid "" @@ -2534,6 +3570,12 @@ msgid "" "and :meth:`SSLSocket.send` failures, and retry after another call to :func:" "`~select.select`." msgstr "" +"Llamar a :func:`~select.select` le indica que se puede leer (o escribir) en " +"el socket a nivel del SO, pero no implica que haya suficientes datos en la " +"capa superior SSL. Por ejemplo, puede que sólo haya llegado una parte de una " +"trama SSL. Por lo tanto, debe estar preparado para manejar los fallos de :" +"meth:`SSLSocket.recv` y :meth:`SSLSocket.send`, y re-intentar después de " +"otra llamada a :func:`~select.select`." #: ../Doc/library/ssl.rst:2402 msgid "" @@ -2543,12 +3585,19 @@ msgid "" "potentially available data, and then only block on a :func:`~select.select` " "call if still necessary." msgstr "" +"Por el contrario, dado que la capa SSL tiene su propia estructura, un socket " +"SSL puede tener datos disponibles para leer sin que :func:`~select.select` " +"lo sepa. Por lo tanto, debería llamar primero a :meth:`SSLSocket.recv` para " +"drenar cualquier dato potencialmente disponible, y luego sólo bloquear en " +"una llamada a :func:`~select.select` si todavía es necesario." #: ../Doc/library/ssl.rst:2408 msgid "" "(of course, similar provisions apply when using other primitives such as :" "func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" +"(por supuesto, se aplican disposiciones similares cuando se utilizan otras " +"primitivas como :func:`~select.poll`, o las del módulo :mod:`selectors`)" #: ../Doc/library/ssl.rst:2411 msgid "" @@ -2557,6 +3606,10 @@ msgid "" "is a synopsis using :func:`~select.select` to wait for the socket's " "readiness::" msgstr "" +"El handshake SSL en sí mismo será no bloqueante: el método :meth:`SSLSocket." +"do_handshake` tiene que ser re-intentado hasta que regrese con éxito. Aquí " +"hay una sinopsis usando :func:`~select.select` para esperar la " +"disponibilidad del socket::" #: ../Doc/library/ssl.rst:2427 msgid "" @@ -2566,10 +3619,15 @@ msgid "" "`SSLWantReadError` and :exc:`BlockingIOError` exceptions. It runs the SSL " "handshake asynchronously as well." msgstr "" +"El módulo :mod:`asyncio` soporta :ref:`sockets SSL no bloqueantes ` y proporciona una API de alto nivel. Busca eventos usando el " +"módulo :mod:`selectors` y maneja las excepciones :exc:`SSLWantWriteError`, :" +"exc:`SSLWantReadError` y :exc:`BlockingIOError`. También ejecuta el " +"handshake SSL de forma asíncrona." #: ../Doc/library/ssl.rst:2436 msgid "Memory BIO Support" -msgstr "" +msgstr "Soporte de memoria BIO" #: ../Doc/library/ssl.rst:2440 msgid "" @@ -2577,14 +3635,17 @@ msgid "" "`SSLSocket` class has provided two related but distinct areas of " "functionality:" msgstr "" +"Desde que se introdujo el módulo SSL en Python 2.6, la clase :class:" +"`SSLSocket` ha proporcionado dos áreas de funcionalidad relacionadas pero " +"distintas:" #: ../Doc/library/ssl.rst:2443 msgid "SSL protocol handling" -msgstr "" +msgstr "Manejo del protocolo SSL" #: ../Doc/library/ssl.rst:2444 msgid "Network IO" -msgstr "" +msgstr "E/S de red" #: ../Doc/library/ssl.rst:2446 msgid "" @@ -2593,6 +3654,10 @@ msgid "" "used as a drop-in replacement for a regular socket, making it very easy to " "add SSL support to an existing application." msgstr "" +"La API de E/S de red es idéntica a la proporcionada por :class:`socket." +"socket`, de la que también hereda :class:`SSLSocket`. Esto permite que un " +"socket SSL sea utilizado como un reemplazo de un socket normal, haciendo que " +"sea muy fácil añadir soporte SSL a una aplicación existente." #: ../Doc/library/ssl.rst:2451 msgid "" @@ -2605,6 +3670,15 @@ msgid "" "this purpose, a reduced scope variant of :class:`SSLSocket` called :class:" "`SSLObject` is provided." msgstr "" +"La combinación del manejo del protocolo SSL y la E/S de red suele funcionar " +"bien, pero hay algunos casos en los que no es así. Un ejemplo son los " +"frameworks de E/S asíncronos que quieren utilizar un modelo de " +"multiplexación de E/S diferente al modelo \"selección/consulta de un " +"descriptor de archivo\" (basado en la preparación) que es asumido por :class:" +"`socket.socket` y por las rutinas internas de E/S de socket de OpenSSL. Esto " +"es principalmente relevante para plataformas como Windows donde este modelo " +"no es eficiente. Para este propósito, se proporciona una variante de ámbito " +"reducido de :class:`SSLSocket` llamada :class:`SSLObject`." #: ../Doc/library/ssl.rst:2462 msgid "" @@ -2613,6 +3687,10 @@ msgid "" "typically used by framework authors that want to implement asynchronous IO " "for SSL through memory buffers." msgstr "" +"Una variante de alcance reducido de :class:`SSLSocket` que representa una " +"instancia del protocolo SSL que no contiene ningún método de E/S de red. " +"Esta clase suele ser utilizada por los autores de frameworks que quieren " +"implementar E/S asíncrona para SSL a través de buffers de memoria." #: ../Doc/library/ssl.rst:2467 msgid "" @@ -2621,6 +3699,11 @@ msgid "" "but does not provide any network IO itself. IO needs to be performed through " "separate \"BIO\" objects which are OpenSSL's IO abstraction layer." msgstr "" +"Esta clase implementa una interfaz sobre un objeto SSL de bajo nivel como el " +"implementado por OpenSSL. Este objeto captura el estado de una conexión SSL " +"pero no proporciona ninguna E/S de red en sí misma. La E/S debe realizarse a " +"través de objetos \"BIO\" separados que son la capa de abstracción de E/S de " +"OpenSSL." #: ../Doc/library/ssl.rst:2472 msgid "" @@ -2630,104 +3713,116 @@ msgid "" "*incoming* BIO is used to pass data from Python to the SSL protocol " "instance, while the *outgoing* BIO is used to pass data the other way around." msgstr "" +"Esta clase no tiene un constructor público. Se debe crear una instancia :" +"class:`SSLObject` utilizando el método :meth:`~SSLContext.wrap_bio`. Este " +"método creará la instancia :class:`SSLObject` y la vinculará a un par de " +"BIOs. El BIO *de entrada* se utiliza para pasar los datos de Python a la " +"instancia del protocolo SSL, mientras que el BIO *de salida* se utiliza para " +"pasar los datos a la inversa." #: ../Doc/library/ssl.rst:2479 msgid "The following methods are available:" -msgstr "" +msgstr "Los siguientes métodos son disponibles:" #: ../Doc/library/ssl.rst:2481 msgid ":attr:`~SSLSocket.context`" -msgstr "" +msgstr ":attr:`~SSLSocket.context`" #: ../Doc/library/ssl.rst:2482 msgid ":attr:`~SSLSocket.server_side`" -msgstr "" +msgstr ":attr:`~SSLSocket.server_side`" #: ../Doc/library/ssl.rst:2483 msgid ":attr:`~SSLSocket.server_hostname`" -msgstr "" +msgstr ":attr:`~SSLSocket.server_hostname`" #: ../Doc/library/ssl.rst:2484 msgid ":attr:`~SSLSocket.session`" -msgstr "" +msgstr ":attr:`~SSLSocket.session`" #: ../Doc/library/ssl.rst:2485 msgid ":attr:`~SSLSocket.session_reused`" -msgstr "" +msgstr ":attr:`~SSLSocket.session_reused`" #: ../Doc/library/ssl.rst:2486 msgid ":meth:`~SSLSocket.read`" -msgstr "" +msgstr ":meth:`~SSLSocket.read`" #: ../Doc/library/ssl.rst:2487 msgid ":meth:`~SSLSocket.write`" -msgstr "" +msgstr ":meth:`~SSLSocket.write`" #: ../Doc/library/ssl.rst:2488 msgid ":meth:`~SSLSocket.getpeercert`" -msgstr "" +msgstr ":meth:`~SSLSocket.getpeercert`" #: ../Doc/library/ssl.rst:2489 msgid ":meth:`~SSLSocket.selected_alpn_protocol`" -msgstr "" +msgstr ":meth:`~SSLSocket.selected_alpn_protocol`" #: ../Doc/library/ssl.rst:2490 msgid ":meth:`~SSLSocket.selected_npn_protocol`" -msgstr "" +msgstr ":meth:`~SSLSocket.selected_npn_protocol`" #: ../Doc/library/ssl.rst:2491 msgid ":meth:`~SSLSocket.cipher`" -msgstr "" +msgstr ":meth:`~SSLSocket.cipher`" #: ../Doc/library/ssl.rst:2492 msgid ":meth:`~SSLSocket.shared_ciphers`" -msgstr "" +msgstr ":meth:`~SSLSocket.shared_ciphers`" #: ../Doc/library/ssl.rst:2493 msgid ":meth:`~SSLSocket.compression`" -msgstr "" +msgstr ":meth:`~SSLSocket.compression`" #: ../Doc/library/ssl.rst:2494 msgid ":meth:`~SSLSocket.pending`" -msgstr "" +msgstr ":meth:`~SSLSocket.pending`" #: ../Doc/library/ssl.rst:2495 msgid ":meth:`~SSLSocket.do_handshake`" -msgstr "" +msgstr ":meth:`~SSLSocket.do_handshake`" #: ../Doc/library/ssl.rst:2496 msgid ":meth:`~SSLSocket.verify_client_post_handshake`" -msgstr "" +msgstr ":meth:`~SSLSocket.verify_client_post_handshake`" #: ../Doc/library/ssl.rst:2497 msgid ":meth:`~SSLSocket.unwrap`" -msgstr "" +msgstr ":meth:`~SSLSocket.unwrap`" #: ../Doc/library/ssl.rst:2498 msgid ":meth:`~SSLSocket.get_channel_binding`" -msgstr "" +msgstr ":meth:`~SSLSocket.get_channel_binding`" #: ../Doc/library/ssl.rst:2499 msgid ":meth:`~SSLSocket.version`" -msgstr "" +msgstr ":meth:`~SSLSocket.version`" #: ../Doc/library/ssl.rst:2501 msgid "" "When compared to :class:`SSLSocket`, this object lacks the following " "features:" msgstr "" +"En comparación con :class:`SSLSocket`, este objeto carece de las siguientes " +"características:" #: ../Doc/library/ssl.rst:2504 msgid "" "Any form of network IO; ``recv()`` and ``send()`` read and write only to the " "underlying :class:`MemoryBIO` buffers." msgstr "" +"Cualquier forma de E/S de red; ``recv()`` y ``send()`` leen y escriben sólo " +"en los buffers subyacentes de :class:`MemoryBIO`." #: ../Doc/library/ssl.rst:2507 msgid "" "There is no *do_handshake_on_connect* machinery. You must always manually " "call :meth:`~SSLSocket.do_handshake` to start the handshake." msgstr "" +"No existe la maquinaria *do_handshake_on_connect*. Siempre hay que llamar " +"manualmente a :meth:`~SSLSocket.do_handshake` para iniciar el handshake." #: ../Doc/library/ssl.rst:2510 msgid "" @@ -2735,12 +3830,18 @@ msgid "" "that are in violation of the protocol are reported via the :exc:" "`SSLEOFError` exception." msgstr "" +"No hay manejo de *suppress_ragged_eofs*. Todas las condiciones de fin de " +"archivo que violan el protocolo se reportan a través de la excepción :exc:" +"`SSLEOFError`." #: ../Doc/library/ssl.rst:2514 msgid "" "The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " "for an SSL socket where it returns the underlying socket." msgstr "" +"La llamada al método :meth:`~SSLSocket.unwrap` no devuelve nada, a " +"diferencia de lo que ocurre con un socket SSL, que devuelve el socket " +"subyacente." #: ../Doc/library/ssl.rst:2517 msgid "" @@ -2748,10 +3849,13 @@ msgid "" "set_servername_callback` will get an :class:`SSLObject` instance instead of " "a :class:`SSLSocket` instance as its first parameter." msgstr "" +"La función callback *server_name_callback* pasada a :meth:`SSLContext." +"set_servername_callback` obtendrá una instancia de :class:`SSLObject` en " +"lugar de una instancia de :class:`SSLSocket` como primer parámetro." #: ../Doc/library/ssl.rst:2521 msgid "Some notes related to the use of :class:`SSLObject`:" -msgstr "" +msgstr "Algunas notas relacionadas con el uso de :class:`SSLObject`:" #: ../Doc/library/ssl.rst:2523 msgid "" @@ -2759,6 +3863,10 @@ msgid "" "This means that for example :meth:`~SSLSocket.read` will raise an :exc:" "`SSLWantReadError` if it needs more data than the incoming BIO has available." msgstr "" +"Toda la E/S en un :class:`SSLObject` es :ref:`non-blocking `. Esto significa que, por ejemplo, :meth:`~SSLSocket.read` " +"lanzará un :exc:`SSLWantReadError` si necesita más datos de los que la BIO " +"entrante tiene disponibles." #: ../Doc/library/ssl.rst:2528 msgid "" @@ -2766,6 +3874,9 @@ msgid "" "`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" "class:`SSLContext`." msgstr "" +"No hay una llamada a nivel de módulo ``wrap_bio()`` como la que hay para :" +"meth:`~SSLContext.wrap_socket`. Un :class:`SSLObject` siempre se crea a " +"través de un :class:`SSLContext`." #: ../Doc/library/ssl.rst:2532 msgid "" @@ -2773,6 +3884,9 @@ msgid "" "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" +"Las instancias :class:`SSLObject` deben crearse con :meth:`~SSLContext." +"wrap_bio`. En versiones anteriores, era posible crear instancias " +"directamente. Esto nunca fue documentado ni soportado oficialmente." #: ../Doc/library/ssl.rst:2538 msgid "" @@ -2780,40 +3894,56 @@ msgid "" "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" +"Un SSLObject se comunica con el mundo exterior utilizando buffers de " +"memoria. La clase :class:`MemoryBIO` proporciona un buffer de memoria que " +"puede ser utilizado para este propósito. Envuelve un objeto BIO (Basic IO) " +"de memoria de OpenSSL:" #: ../Doc/library/ssl.rst:2544 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" +"Un buffer de memoria que se puede utilizar para pasar datos entre Python y " +"una instancia del protocolo SSL." #: ../Doc/library/ssl.rst:2549 msgid "Return the number of bytes currently in the memory buffer." msgstr "" +"Retorna el número de bytes que se encuentran actualmente en la memoria " +"buffer." #: ../Doc/library/ssl.rst:2553 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" +"Un booleano que indica si la memoria BIO es actual en la posición de fin de " +"archivo." #: ../Doc/library/ssl.rst:2558 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" +"Lee hasta *n* bytes del buffer de memoria. Si *n* no se especifica o es " +"negativo, se devuelven todos los bytes." #: ../Doc/library/ssl.rst:2563 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" +"Escribe los bytes de *buf* en la memoria BIO. El argumento *buf* debe ser un " +"objeto que soporte el protocolo de buffer." #: ../Doc/library/ssl.rst:2566 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" +"El valor de retorno es el número de bytes escritos, que siempre es igual a " +"la longitud de *buf*." #: ../Doc/library/ssl.rst:2571 msgid "" @@ -2821,22 +3951,26 @@ msgid "" "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" +"Escribe un marcador EOF en la memoria BIO. Después de llamar a este método, " +"es ilegal llamar a :meth:`~MemoryBIO.write`. El atributo :attr:`eof` se " +"convertirá en verdadero después de que se hayan leído todos los datos que " +"hay actualmente en el buffer." #: ../Doc/library/ssl.rst:2577 msgid "SSL session" -msgstr "" +msgstr "Sesión SSL" #: ../Doc/library/ssl.rst:2583 msgid "Session object used by :attr:`~SSLSocket.session`." -msgstr "" +msgstr "Objeto sesión usado por :attr:`~SSLSocket.session`." #: ../Doc/library/ssl.rst:2595 msgid "Security considerations" -msgstr "" +msgstr "Consideraciones de seguridad" #: ../Doc/library/ssl.rst:2598 msgid "Best defaults" -msgstr "" +msgstr "Los mejores valores por defecto" #: ../Doc/library/ssl.rst:2600 msgid "" @@ -2847,18 +3981,28 @@ msgid "" "hostname checking, and try to choose reasonably secure protocol and cipher " "settings." msgstr "" +"Para el **uso en el cliente**, si no tiene ningún requisito especial para su " +"política de seguridad, es muy recomendable que utilice la función :func:" +"`create_default_context` para crear su contexto SSL. Cargará los " +"certificados CA de confianza del sistema, habilitará la validación de " +"certificados y la comprobación del hostname, e intentará elegir una " +"configuración de protocolo y cifrado razonablemente segura." #: ../Doc/library/ssl.rst:2607 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" +"Por ejemplo, así es como se utiliza la clase :class:`smtplib.SMTP` para " +"crear una conexión segura y de confianza con un servidor SMTP::" #: ../Doc/library/ssl.rst:2616 msgid "" "If a client certificate is needed for the connection, it can be added with :" "meth:`SSLContext.load_cert_chain`." msgstr "" +"Si se necesita un certificado de cliente para la conexión, se puede añadir " +"con :meth:`SSLContext.load_cert_chain`." #: ../Doc/library/ssl.rst:2619 msgid "" @@ -2867,14 +4011,18 @@ msgid "" "nor hostname checking enabled by default. If you do so, please read the " "paragraphs below to achieve a good security level." msgstr "" +"Por el contrario, si crea el contexto SSL llamando usted mismo al " +"constructor :class:`SSLContext`, no tendrá activada por defecto la " +"validación de certificados ni la comprobación de hostname. Si lo hace, lea " +"los párrafos siguientes para conseguir un buen nivel de seguridad." #: ../Doc/library/ssl.rst:2625 msgid "Manual settings" -msgstr "" +msgstr "Ajustes manuales" #: ../Doc/library/ssl.rst:2628 msgid "Verifying certificates" -msgstr "" +msgstr "Verificación de certificados" #: ../Doc/library/ssl.rst:2630 msgid "" @@ -2890,12 +4038,27 @@ msgid "" "case, the :func:`match_hostname` function can be used. This common check is " "automatically performed when :attr:`SSLContext.check_hostname` is enabled." msgstr "" - +"Cuando se llama al constructor de :class:`SSLContext` directamente, :const:" +"`CERT_NONE` es el valor por defecto. Dado que no autentifica al otro peer, " +"puede ser inseguro, especialmente en modo cliente, donde la mayoría de las " +"veces se quiere asegurar la autenticidad del servidor con el que se está " +"hablando. Por lo tanto, cuando se está en modo cliente, es muy recomendable " +"utilizar :const:`CERT_REQUIRED`. Sin embargo, no es suficiente por sí mismo; " +"también hay que comprobar que el certificado del servidor, que se puede " +"obtener llamando a :meth:`SSLSocket.getpeercert`, coincide con el servicio " +"deseado. Para muchos protocolos y aplicaciones, el servicio puede ser " +"identificado por el hostname; en este caso, se puede utilizar la función :" +"func:`match_hostname`. Esta comprobación común se realiza automáticamente " +"cuando :attr:`SSLContext.check_hostname` está activado." + +# La expresión "hostname matching" suena un poco raro aquí. Sin embargo, como no lo he traducido en el resto del documento, lo dejo aquí también en inglés. #: ../Doc/library/ssl.rst:2643 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`match_hostname`." msgstr "" +"Las hostname matchings son ahora realizadas por OpenSSL. Python ya no " +"utiliza :func:`match_hostname`." #: ../Doc/library/ssl.rst:2647 msgid "" @@ -2904,10 +4067,14 @@ msgid "" "have to specify :const:`CERT_REQUIRED` and similarly check the client " "certificate." msgstr "" +"En el modo servidor, si quiere autenticar a sus clientes utilizando la capa " +"SSL (en lugar de utilizar un mecanismo de autenticación de nivel superior), " +"también tendrá que especificar :const:`CERT_REQUIRED` y comprobar de forma " +"similar el certificado del cliente." #: ../Doc/library/ssl.rst:2653 msgid "Protocol versions" -msgstr "" +msgstr "Versiones del protocolo" #: ../Doc/library/ssl.rst:2655 msgid "" @@ -2917,6 +4084,11 @@ msgid "" "`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are disabled " "by default." msgstr "" +"Las versiones 2 y 3 de SSL se consideran inseguras y, por lo tanto, su uso " +"es peligroso. Si desea la máxima compatibilidad entre clientes y servidores, " +"se recomienda utilizar :const:`PROTOCOL_TLS_CLIENT` o :const:" +"`PROTOCOL_TLS_SERVER` como versión del protocolo. SSLv2 y SSLv3 están " +"desactivados por defecto." #: ../Doc/library/ssl.rst:2668 msgid "" @@ -2925,11 +4097,17 @@ msgid "" "`PROTOCOL_TLS_CLIENT` implies certificate validation and hostname checks by " "default. You have to load certificates into the context." msgstr "" +"El contexto SSL creado anteriormente sólo permitirá conexiones TLSv1.2 y " +"posteriores (si su sistema lo soporta) a un servidor. :const:" +"`PROTOCOL_TLS_CLIENT` implica la validación del certificado y la " +"comprobación del nombre de host por defecto. Tiene que cargar los " +"certificados en el contexto." #: ../Doc/library/ssl.rst:2675 msgid "Cipher selection" -msgstr "" +msgstr "Selección de cifrado" +# Aquí me parece mas claro traducir el título del enlace (incluso si el enlace no está en español). #: ../Doc/library/ssl.rst:2677 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " @@ -2942,10 +4120,19 @@ msgid "" "by a given cipher list, use :meth:`SSLContext.get_ciphers` or the ``openssl " "ciphers`` command on your system." msgstr "" +"Si tienes requisitos de seguridad avanzados, es posible ajustar los cifrados " +"habilitados al negociar una sesión SSL mediante el método :meth:`SSLContext." +"set_ciphers`. A partir de Python 3.2.3, el módulo ssl deshabilita ciertos " +"cifrados débiles por defecto, pero es posible que quieras restringir más la " +"elección del cifrado. Asegúrese de leer la documentación de OpenSSL sobre el " +"`formato de la lista de cifrado `_. Si quiere comprobar qué cifrados están " +"habilitados por una determinada lista de cifrado, utilice :meth:`SSLContext." +"get_ciphers` o el comando ``openssl ciphers`` en su sistema." #: ../Doc/library/ssl.rst:2688 msgid "Multi-processing" -msgstr "" +msgstr "Multiprocesamiento" #: ../Doc/library/ssl.rst:2690 msgid "" @@ -2957,10 +4144,18 @@ msgid "" "successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or :func:" "`~ssl.RAND_pseudo_bytes` is sufficient." msgstr "" +"Si utiliza este módulo como parte de una aplicación multiproceso " +"(utilizando, por ejemplo, los módulos :mod:`multiprocessing` o :mod:" +"`concurrent.futures`), tenga en cuenta que el generador de números " +"aleatorios interno de OpenSSL no maneja adecuadamente los procesos " +"bifurcados. Las aplicaciones deben cambiar el estado del PRNG del proceso " +"padre si utilizan cualquier función de SSL con :func:`os.fork`. Cualquier " +"llamada exitosa de :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` o :func:" +"`~ssl.RAND_pseudo_bytes` es suficiente." #: ../Doc/library/ssl.rst:2702 msgid "TLS 1.3" -msgstr "" +msgstr "TLS 1.3" #: ../Doc/library/ssl.rst:2706 msgid "" @@ -2968,6 +4163,10 @@ msgid "" "1.1.1. The new protocol behaves slightly differently than previous version " "of TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" +"Python tiene soporte provisional y experimental para TLS 1.3 con OpenSSL " +"1.1.1. El nuevo protocolo se comporta de forma ligeramente diferente a la " +"versión anterior de TLS/SSL. Algunas de las nuevas características de TLS " +"1.3 aún no están disponibles." #: ../Doc/library/ssl.rst:2710 msgid "" @@ -2976,6 +4175,10 @@ msgid "" "set_ciphers` cannot enable or disable any TLS 1.3 ciphers yet, but :meth:" "`SSLContext.get_ciphers` returns them." msgstr "" +"TLS 1.3 utiliza un conjunto disjunto de suites de cifrado. Todas las suites " +"de cifrado AES-GCM y ChaCha20 están habilitadas por defecto. El método :" +"meth:`SSLContext.set_ciphers` aún no puede habilitar o deshabilitar ningún " +"cifrado de TLS 1.3, pero :meth:`SSLContext.get_ciphers` los devuelve." #: ../Doc/library/ssl.rst:2714 msgid "" @@ -2983,6 +4186,9 @@ msgid "" "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" +"Los tickets de sesión ya no se envían como parte del handshake inicial y se " +"manejan de forma diferente. :attr:`SSLSocket.session` y :class:`SSLSession` " +"no son compatibles con TLS 1.3." #: ../Doc/library/ssl.rst:2717 msgid "" @@ -2991,16 +4197,23 @@ msgid "" "certificate requests while they send or receive application data from the " "server." msgstr "" +"Los certificados del lado del cliente ya no se verifican durante el " +"handshake inicial. Un servidor puede solicitar un certificado en cualquier " +"momento. Los clientes procesan las solicitudes de certificados mientras " +"envían o reciben datos de la aplicación desde el servidor." #: ../Doc/library/ssl.rst:2721 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, " "signature algorithm configuration, and rekeying are not supported yet." msgstr "" +"Las funciones de TLS 1.3, como los datos anticipados, la solicitud de " +"certificado de cliente TLS diferida, la configuración del algoritmo de firma " +"y la repetición de claves, aún no son compatibles." #: ../Doc/library/ssl.rst:2728 msgid "LibreSSL support" -msgstr "" +msgstr "Soporte LibreSSL" #: ../Doc/library/ssl.rst:2730 msgid "" @@ -3008,6 +4221,9 @@ msgid "" "LibreSSL. Some features are not available when the ssl module is compiled " "with LibreSSL." msgstr "" +"LibreSSL es un fork de OpenSSL 1.0.1. El módulo ssl tiene un soporte " +"limitado para LibreSSL. Algunas características no están disponibles cuando " +"el módulo ssl se compila con LibreSSL." #: ../Doc/library/ssl.rst:2734 msgid "" @@ -3015,6 +4231,9 @@ msgid "" "set_npn_protocols` and :meth:`SSLSocket.selected_npn_protocol` are not " "available." msgstr "" +"LibreSSL >= 2.6.1 ya no soporta NPN. Los métodos :meth:`SSLContext." +"set_npn_protocols` y :meth:`SSLSocket.selected_npn_protocol` no están " +"disponibles." #: ../Doc/library/ssl.rst:2737 msgid "" @@ -3022,97 +4241,114 @@ msgid "" "`SSL_CERT_FILE` and :envvar:`SSL_CERT_PATH` although :func:" "`get_default_verify_paths` still reports them." msgstr "" +":meth:`SSLContext.set_default_verify_paths` ignora las variables de entorno :" +"envvar:`SSL_CERT_FILE` y :envvar:`SSL_CERT_PATH` aunque :func:" +"`get_default_verify_paths` aún los reporta." #: ../Doc/library/ssl.rst:2745 msgid "Class :class:`socket.socket`" -msgstr "" +msgstr "Clase :class:`socket.socket`" #: ../Doc/library/ssl.rst:2745 msgid "Documentation of underlying :mod:`socket` class" -msgstr "" +msgstr "Documentación de la clase :mod:`socket` subyacente" #: ../Doc/library/ssl.rst:2748 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" +"`SSL/TLS Strong Encryption: An Introduction `_" #: ../Doc/library/ssl.rst:2748 msgid "Intro from the Apache HTTP Server documentation" -msgstr "" +msgstr "Introducción de la documentación del servidor HTTP Apache" #: ../Doc/library/ssl.rst:2751 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" +":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " +"Certificate-Based Key Management <1422>`" #: ../Doc/library/ssl.rst:2751 msgid "Steve Kent" -msgstr "" +msgstr "Steve Kent" #: ../Doc/library/ssl.rst:2754 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" -msgstr "" +msgstr ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" #: ../Doc/library/ssl.rst:2754 msgid "Donald E., Jeffrey I. Schiller" -msgstr "" +msgstr "Donald E., Jeffrey I. Schiller" #: ../Doc/library/ssl.rst:2757 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" +":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " +"Certificate Revocation List (CRL) Profile <5280>`" #: ../Doc/library/ssl.rst:2757 msgid "D. Cooper" -msgstr "" +msgstr "D. Cooper" #: ../Doc/library/ssl.rst:2760 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" +":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " +"<5246>`" #: ../Doc/library/ssl.rst:2760 msgid "T. Dierks et. al." -msgstr "" +msgstr "T. Dierks et. al." #: ../Doc/library/ssl.rst:2763 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" -msgstr "" +msgstr ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" #: ../Doc/library/ssl.rst:2763 msgid "D. Eastlake" -msgstr "" +msgstr "D. Eastlake" #: ../Doc/library/ssl.rst:2766 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" +"`IANA TLS: Transport Layer Security (TLS) Parameters `_" #: ../Doc/library/ssl.rst:2766 msgid "IANA" -msgstr "" +msgstr "IANA" #: ../Doc/library/ssl.rst:2769 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" msgstr "" +":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " +"(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" #: ../Doc/library/ssl.rst:2769 msgid "IETF" -msgstr "" +msgstr "IETF" #: ../Doc/library/ssl.rst:2771 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" +"`Mozilla's Server Side TLS recommendations `_" #: ../Doc/library/ssl.rst:2772 msgid "Mozilla" -msgstr "" +msgstr "Mozilla" diff --git a/library/sys.po b/library/sys.po index 9a973d56c5..99006694e3 100644 --- a/library/sys.po +++ b/library/sys.po @@ -1539,7 +1539,7 @@ msgid "" "Get the current coroutine origin tracking depth, as set by :func:" "`set_coroutine_origin_tracking_depth`." msgstr "" -"Obtiene la profundidad de seguimiento del origen de la co-rutina actual, " +"Obtiene la profundidad de seguimiento del origen de la corrutina actual, " "según lo establecido por :func:`set_coroutine_origin_tracking_depth`." #: ../Doc/library/sys.rst:820 ../Doc/library/sys.rst:1437 @@ -3001,8 +3001,7 @@ msgstr "" #: ../Doc/library/sys.rst:1584 msgid "The *unraisable* argument has the following attributes:" -msgstr "" -"El argumento *unraisable* (no lanzable) tiene los siguientes atributos:" +msgstr "El argumento *unraisable* tiene los siguientes atributos:" #: ../Doc/library/sys.rst:1586 msgid "*exc_type*: Exception type." diff --git a/library/sysconfig.po b/library/sysconfig.po index b38c7a05aa..09b5fed573 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -412,7 +412,7 @@ msgstr "" #: ../Doc/library/sysconfig.rst:189 msgid "win32 (all others - specifically, sys.platform is returned)" -msgstr "win32 (todos los demás - específicamente se retorna sys.plataform)" +msgstr "win32 (todos los demás - específicamente se retorna sys.platform)" #: ../Doc/library/sysconfig.rst:191 msgid "Mac OS X can return:" diff --git a/library/tarfile.po b/library/tarfile.po index 5e4d9f7648..1e983349b6 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -63,7 +63,7 @@ msgid "" "*longlink* extensions, read-only support for all variants of the *sparse* " "extension including restoration of sparse files." msgstr "" -"soporte de lectura/escritira para el formato GNU tar incluyendo extensiones " +"soporte de lectura/escritura para el formato GNU tar incluyendo extensiones " "*longname* y *longlink*, soporte de solo escritura para todas las variantes " "de extensiones de *sparse* (archivo disperso) incluyendo restablecimiento de " "archivos dispersos." @@ -975,7 +975,8 @@ msgstr "" #: ../Doc/library/tarfile.rst:517 msgid "A dictionary containing key-value pairs of pax global headers." msgstr "" -"Un diccionario que contiene pares de *pax global headers* en key-value." +"Un diccionario que contiene pares claves-valor de los encabezados globales " +"pax." #: ../Doc/library/tarfile.rst:524 msgid "TarInfo Objects" @@ -1308,8 +1309,8 @@ msgstr "" "El formato pax POSIX.1-2001 (:const:`PAX_FORMAT`). Es el formato más " "flexible prácticamente sin límites. Admite nombres de archivo largos y " "nombres de enlaces, archivos grandes y almacena nombres de ruta de forma " -"portátil. Las implementaciones modernas de tar, incluyendo GNU tar, *bsdtar/" -"libarchive* y star, son totalmente compatibles con las características " +"portátil. Las implementaciones modernas de tar, incluyendo GNU tar, bsdtar/" +"libarchive y star, son totalmente compatibles con las características " "extendidas *pax*; Es posible que algunas bibliotecas antiguas o no " "mantenidas no lo hagan, pero deberían tratar los archivos *pax* como si " "estuvieran en el formato *ustar* compatible universalmente. Es el formato " diff --git a/library/telnetlib.po b/library/telnetlib.po index e19f283eb0..7e4d80f32c 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -213,7 +213,7 @@ msgid "" "callback should access these data when it was invoked with a ``SE`` command. " "This method never blocks." msgstr "" -"Retorna los datos recopilados entre un par SB/SE (suboptionbegin/end). La " +"Retorna los datos recopilados entre un par SB/SE (suboption begin/end). La " "retrollamada debe tener acceso a estos datos cuando se invocó con un comando " "``SE``. Este método nunca se bloquea." diff --git a/library/time.po b/library/time.po index edc1e25245..0f669e06a4 100644 --- a/library/time.po +++ b/library/time.po @@ -296,7 +296,7 @@ msgid "" "`pthread_getcpuclockid(3)` for further information)." msgstr "" ":ref:`Disponibilidad `: Unix (consulte la página de manual " -"para: manpage: `pthread_getcpuclockid (3)` para más información)." +"para :manpage:`pthread_getcpuclockid(3)` para más información)." #: ../Doc/library/time.rst:156 msgid "" @@ -883,7 +883,7 @@ msgstr "" "Es posible que se admitan directivas adicionales en ciertas plataformas, " "pero solo las que se enumeran aquí tienen un significado estandarizado por " "ANSI C. Para ver el conjunto completo de códigos de formato admitidos en su " -"plataforma, consulte la documentación de: manpage: `strftime (3)`." +"plataforma, consulte la documentación de :manpage:`strftime(3)`." #: ../Doc/library/time.rst:472 msgid "" @@ -938,7 +938,7 @@ msgid "" "(and are considered to be non-daylight savings timezones)." msgstr "" "La compatibilidad con la directiva ``%Z`` se basa en los valores contenidos " -"en `` tzname`` y en si `` daylight`` es verdadero. Debido a esto, es " +"en `` tzname`` y en si ``daylight`` es verdadero. Debido a esto, es " "específico de la plataforma, excepto para reconocer UTC y GMT que siempre se " "conocen (y se consideran zonas horarias que no son de horario de verano)." @@ -1269,7 +1269,7 @@ msgstr "Donde están los componentes:" #: ../Doc/library/time.rst:647 msgid "``std`` and ``dst``" -msgstr "``std` y ``dst``" +msgstr "``std`` y ``dst``" #: ../Doc/library/time.rst:646 msgid "" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index f0e4545ba7..dae2517209 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -1744,14 +1744,14 @@ msgstr "Un nombre simbólico de la lista de opciones de columna." #: ../Doc/library/tkinter.ttk.rst:908 msgid "An integer n, specifying the nth data column." -msgstr "Un entero n, especificando la n-ésima columna de datos." +msgstr "Un entero n, especificando la enésima columna de datos." #: ../Doc/library/tkinter.ttk.rst:909 msgid "" "A string of the form #n, where n is an integer, specifying the nth display " "column." msgstr "" -"Una cadena de la forma #n, donde n es un entero, especificando la n-ésima " +"Una cadena de la forma #n, donde n es un entero, especificando la enésima " "columna mostrada." #: ../Doc/library/tkinter.ttk.rst:912 diff --git a/library/trace.po b/library/trace.po index 54ec64cf28..b9cd1520ed 100644 --- a/library/trace.po +++ b/library/trace.po @@ -311,7 +311,7 @@ msgid "" "be output. If ``None``, the results for each source file are placed in its " "directory." msgstr "" -"Escribe los resultados de la cobertura. Configure * show_missing * para " +"Escribe los resultados de la cobertura. Configure *show_missing* para " "mostrar las líneas que no tuvieron coincidencias. Configurar *summary* para " "incluir en la salida el resumen de cobertura por módulo. *coverdir* " "especifica el directorio en el que se enviarán los archivos de resultado de " diff --git a/library/tracemalloc.po b/library/tracemalloc.po index 45963c39fd..8c1aec2314 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -143,7 +143,7 @@ msgstr "" "cargado antes de los test, cuando la anterior captura de pantalla fue " "tomada. De manera similar, el modulo :mod:`linecache` ha almacenado en " "caché``940 KiB`` del código fuente de Python para formatear los " -"seguimientos, todo desde la captura instántanea." +"seguimientos, todo desde la captura instantánea." #: ../Doc/library/tracemalloc.rst:115 msgid "" @@ -196,7 +196,7 @@ msgid "" msgstr "" "Codifica para configurar las 10 líneas que asignan gran parte de la memoria " "con una salida ``bonita``, ignorando los archivos```` y ````:" +"_bootstrap>`` y ````:" #: ../Doc/library/tracemalloc.rst:253 msgid "Record the current and peak size of all traced memory blocks" @@ -687,7 +687,7 @@ msgid "" msgstr "" "Crea una nueva instancia de clase :class:`Snapshot` con una secuencia de :" "attr:`traces` filtrados, *filters* es una lista de las instancias de :class:" -"`DomainFilter` y :class:`Filter`. Si *filters* es una lista vacia, retorna " +"`DomainFilter` y :class:`Filter`. Si *filters* es una lista vacía, retorna " "una nueva instancia de clase :class:`Snapshot` con una copia de los rastreos." #: ../Doc/library/tracemalloc.rst:562 diff --git a/library/turtle.po b/library/turtle.po index 882d3b5d63..70b890facc 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1442,7 +1442,7 @@ msgid "" "about how to deal with shapes see Screen method :func:`register_shape`." msgstr "" "Establece la forma de la tortuga al *name* que se establece o, si no se " -"establece un nmbre, devuelve el nombre actual de su forma. La forma *name* " +"establece un nombre, devuelve el nombre actual de su forma. La forma *name* " "debe existir en el diccionario de formas de *TurtleScreen*. Inicialmente " "están las siguientes formas poligonales: \"*arrow*\", \"*turtle*\", " "\"*circle*\", \"*square*\", \"*triangle*\", \"*classic*\". Para aprender " diff --git a/library/unittest.po b/library/unittest.po index c9f3c58a29..9b05eef947 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -5,34 +5,43 @@ # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers +# Translation started and completed partially by: +# Marcos Sánchez Provencio , 2020. +# Translation finished by: +# Claudia Millán (clacri), 2020. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2020-05-05 12:54+0200\n" +"PO-Revision-Date: 2021-03-20 11:09-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Claudia Millán (@clacri)\n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/library/unittest.rst:2 msgid ":mod:`unittest` --- Unit testing framework" -msgstr "" +msgstr ":mod:`unittest` --- Infraestructura de tests unitarios" #: ../Doc/library/unittest.rst:12 msgid "**Source code:** :source:`Lib/unittest/__init__.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/unittest/__init__.py`" #: ../Doc/library/unittest.rst:16 msgid "" "(If you are already familiar with the basic concepts of testing, you might " "want to skip to :ref:`the list of assert methods `.)" msgstr "" +"(Si ya estás familiarizado con los conceptos básicos de realización de " +"tests, puedes saltar a :ref:`la lista de métodos de aserción `.)" #: ../Doc/library/unittest.rst:19 msgid "" @@ -42,16 +51,24 @@ msgid "" "for tests, aggregation of tests into collections, and independence of the " "tests from the reporting framework." msgstr "" +"La infraestructura de tests unitarios :mod:`unittest` se inspiró en primera " +"instancia en JUnit y ofrece aspectos similares a las principales estructuras " +"de tests unitarios más importantes de otros lenguajes. Da soporte a " +"automatización de tests, inicialización compartida, código de cierre de los " +"tests, agregación de los tests en colecciones e independencia de los tests " +"de la infraestructura que los reporta." #: ../Doc/library/unittest.rst:25 msgid "" "To achieve this, :mod:`unittest` supports some important concepts in an " "object-oriented way:" msgstr "" +"Para conseguir esto, :mod:`unittest` da soporte a ciertos conceptos " +"importantes de una forma orientada a objetos:" #: ../Doc/library/unittest.rst:32 msgid "test fixture" -msgstr "" +msgstr "configuración de prueba (*fixture*)" #: ../Doc/library/unittest.rst:29 msgid "" @@ -60,10 +77,14 @@ msgid "" "example, creating temporary or proxy databases, directories, or starting a " "server process." msgstr "" +"Un :dfn:`test fixture` representa los preparativos para realizar una o más " +"pruebas y las acciones de limpieza asociadas. Esto puede incluir, por " +"ejemplo, la creación de bases de datos temporales, directorios o el arranque " +"de procesos del servidor." #: ../Doc/library/unittest.rst:37 msgid "test case" -msgstr "" +msgstr "caso de prueba" #: ../Doc/library/unittest.rst:35 msgid "" @@ -71,20 +92,26 @@ msgid "" "specific response to a particular set of inputs. :mod:`unittest` provides a " "base class, :class:`TestCase`, which may be used to create new test cases." msgstr "" +"Un :dfn:`test case` es la unidad mínima de prueba. Verifica la respuesta " +"específica a un juego particular de entradas. :mod:`unittest` proporciona " +"una clase base, :class:`TestCase`, que se puede utilizar para crear nuevos " +"casos de uso." #: ../Doc/library/unittest.rst:41 msgid "test suite" -msgstr "" +msgstr "conjunto de pruebas" #: ../Doc/library/unittest.rst:40 msgid "" "A :dfn:`test suite` is a collection of test cases, test suites, or both. It " "is used to aggregate tests that should be executed together." msgstr "" +"Un :dfn:`test suite` es una colección de casos de prueba, juegos de prueba o " +"ambos. Se usa para agrupar pruebas que se han de ejecutar juntas." #: ../Doc/library/unittest.rst:48 msgid "test runner" -msgstr "" +msgstr "ejecutor de pruebas" #: ../Doc/library/unittest.rst:44 msgid "" @@ -93,60 +120,78 @@ msgid "" "interface, a textual interface, or return a special value to indicate the " "results of executing the tests." msgstr "" +"Un :dfn:`test runner` es un componente que dirige la ejecución de las " +"pruebas y proporciona un resultado. El ejecutor puede disponer de una " +"interfaz gráfica, de texto o devolver un valor especial que indique el " +"resultado de la ejecución de las pruebas." #: ../Doc/library/unittest.rst:53 msgid "Module :mod:`doctest`" -msgstr "" +msgstr "Módulo :mod:`doctest`" #: ../Doc/library/unittest.rst:53 msgid "Another test-support module with a very different flavor." -msgstr "" +msgstr "Otro módulo de soporte a pruebas con una solución muy diferente." #: ../Doc/library/unittest.rst:57 msgid "" "`Simple Smalltalk Testing: With Patterns `_" msgstr "" +"`Simple Smalltalk Testing: With Patterns `_" #: ../Doc/library/unittest.rst:56 msgid "" "Kent Beck's original paper on testing frameworks using the pattern shared " "by :mod:`unittest`." msgstr "" +"El documento original de Kent Beck sobre infraestructuras de prueba mediante " +"el patrón que utiliza :mod:`unittest`." #: ../Doc/library/unittest.rst:61 msgid "`pytest `_" -msgstr "" +msgstr "`pytest `_" #: ../Doc/library/unittest.rst:60 msgid "" "Third-party unittest framework with a lighter-weight syntax for writing " "tests. For example, ``assert func(10) == 42``." msgstr "" +"Una infraestructura de pruebas unitarias de otro proveedor con una sintaxis " +"más ligera de escritura de pruebas, por ejemplo: ``assert func(10) == 42``." #: ../Doc/library/unittest.rst:65 msgid "" "`The Python Testing Tools Taxonomy `_" msgstr "" +"`The Python Testing Tools Taxonomy `_" #: ../Doc/library/unittest.rst:64 msgid "" "An extensive list of Python testing tools including functional testing " "frameworks and mock object libraries." msgstr "" +"Una lista extensa de herramientas de prueba para Python incluyendo " +"infraestructuras de pruebas funcionales y librerías de objetos sucedáneos." #: ../Doc/library/unittest.rst:69 msgid "" "`Testing in Python Mailing List `_" msgstr "" +"`Testing in Python Mailing List `_" #: ../Doc/library/unittest.rst:68 msgid "" "A special-interest-group for discussion of testing, and testing tools, in " "Python." msgstr "" +"Grupo especializado en debate sobre las pruebas y las herramientas de prueba " +"de Python." #: ../Doc/library/unittest.rst:71 msgid "" @@ -158,10 +203,17 @@ msgid "" "`Jenkins `_ or `Travis-CI `_, or " "`AppVeyor `_." msgstr "" +"El script :file:`Tools/unittestgui/unittestgui.py` de la distribución de " +"fuentes de Python es una herramienta gráfica para el descubrimiento y " +"ejecución de pruebas. Está orientado sobre todo a principiantes en el tema " +"de pruebas. Para entornos de producción se recomienda que las pruebas sean " +"dirigidas por un sistema de integración continua como `Buildbot `_, `Jenkins `_ o `Hudson `_." #: ../Doc/library/unittest.rst:82 msgid "Basic example" -msgstr "" +msgstr "Ejemplo sencillo" #: ../Doc/library/unittest.rst:84 msgid "" @@ -169,10 +221,14 @@ msgid "" "running tests. This section demonstrates that a small subset of the tools " "suffice to meet the needs of most users." msgstr "" +"El módulo :mod:`unittest` proporciona un conjunto de herramientas para " +"construir y ejecutar pruebas. Esta sección demuestra que un pequeño " +"subconjunto de las herramientas es suficiente para satisfacer las " +"necesidades de la mayoría." #: ../Doc/library/unittest.rst:88 msgid "Here is a short script to test three string methods::" -msgstr "" +msgstr "He aquí un breve script para probar estros tres métodos de cadena::" #: ../Doc/library/unittest.rst:112 msgid "" @@ -181,6 +237,10 @@ msgid "" "``test``. This naming convention informs the test runner about which " "methods represent tests." msgstr "" +"Para crear un caso de prueba se genera una subclase de :class:`unittest." +"TestCase`. Las tres pruebas se definen con métodos cuyos nombres comienzan " +"por las letras ``test``. Esta convención sobre nombres indica al ejecutor de " +"pruebas qué métodos representan pruebas." #: ../Doc/library/unittest.rst:117 msgid "" @@ -191,6 +251,13 @@ msgid "" "instead of the :keyword:`assert` statement so the test runner can accumulate " "all test results and produce a report." msgstr "" +"El quid de cada test es la llamada a :meth:`~TestCase.assertEqual` para " +"verificar un resultado esperado; :meth:`~TestCase.assertTrue` o :meth:" +"`~TestCase.assertFalse` para verificar una condición; o :meth:`~TestCase." +"assertRaises` para asegurar que se lanza una excepción específica. Se " +"utilizan estos métodos en lugar de la sentencia :keyword:`assert` para que " +"el ejecutor de pruebas pueda acumular todos los resultados de la prueba de " +"cara a realizar un informe." #: ../Doc/library/unittest.rst:124 msgid "" @@ -199,6 +266,10 @@ msgid "" "method. They are covered in more detail in the section :ref:`organizing-" "tests`." msgstr "" +"Los métodos :meth:`~TestCase.setUp` y :meth:`~TestCase.tearDown` permiten " +"definir instrucciones que han de ser ejecutadas antes y después, " +"respectivamente, de cada método de prueba. Se describen con mas detalle en " +"la sección :ref:`organizing-tests`." #: ../Doc/library/unittest.rst:128 msgid "" @@ -206,6 +277,10 @@ msgid "" "provides a command-line interface to the test script. When run from the " "command line, the above script produces an output that looks like this::" msgstr "" +"El bloque final muestra un modo sencillo de ejecutar las pruebas. :func:" +"`unittest.main` proporciona una interfaz de línea de órdenes para el script " +"de prueba. Cuando se ejecuta desde la línea de órdenes, el script anterior " +"produce una salida como::" #: ../Doc/library/unittest.rst:138 msgid "" @@ -213,6 +288,9 @@ msgid "" "main` to enable a higher level of verbosity, and produce the following " "output::" msgstr "" +"Si se le pasa una opción ``-v`` al script de prueba, se establecerá un nivel " +"mayor de detalle del proceso de :func:`unittest.main` y se obtendrá la " +"siguiente salida::" #: ../Doc/library/unittest.rst:150 msgid "" @@ -220,26 +298,35 @@ msgid "" "which are sufficient to meet many everyday testing needs. The remainder of " "the documentation explores the full feature set from first principles." msgstr "" +"Los ejemplos anteriores muestra las características más usuales de :mod:" +"`unittest`, que son suficientes para solventar las necesidades cotidianas de " +"pruebas. El resto de la documentación explora el juego completo de " +"características, que abundan en los mismos principios." #: ../Doc/library/unittest.rst:158 msgid "Command-Line Interface" -msgstr "" +msgstr "Interfaz de línea de comandos" #: ../Doc/library/unittest.rst:160 msgid "" "The unittest module can be used from the command line to run tests from " "modules, classes or even individual test methods::" msgstr "" +"Se puede usar el módulo `unittest` desde la línea de órdenes para ejecutar " +"pruebas de módulos, clases o hasta métodos de prueba individuales::" #: ../Doc/library/unittest.rst:167 msgid "" "You can pass in a list with any combination of module names, and fully " "qualified class or method names." msgstr "" +"Se puede pasar una lista con cualquier combinación de nombres de módulo, así " +"como clases o métodos completamente cualificados." #: ../Doc/library/unittest.rst:170 msgid "Test modules can be specified by file path as well::" msgstr "" +"Se puede especificar los módulos de prueba por ruta de fichero también::" #: ../Doc/library/unittest.rst:174 msgid "" @@ -249,35 +336,47 @@ msgid "" "separators into '.'. If you want to execute a test file that isn't " "importable as a module you should execute the file directly instead." msgstr "" +"Esto permite usar el completado automático de nombre de fichero de la shell " +"para especificar el módulo de pruebas. El fichero especificado aún debe ser " +"susceptible de importarse como módulo. La ruta se convierte en nombre de " +"módulo eliminando '.py' y convirtiendo el separador de directorios por '.'. " +"Si se desea ejecutar un fichero de prueba que no se puede importar como " +"módulo, se ha de ejecutar el fichero directamente." #: ../Doc/library/unittest.rst:180 msgid "" "You can run tests with more detail (higher verbosity) by passing in the -v " "flag::" msgstr "" +"Se pueden ejecutar las pruebas con más nivel de detalle (mayor verbosidad) " +"pasando el parámetro `-v`::" #: ../Doc/library/unittest.rst:184 msgid "" "When executed without arguments :ref:`unittest-test-discovery` is started::" msgstr "" +"Cuando se ejecuta sin argumentos, se inicia :ref:`unittest-test-discovery`::" #: ../Doc/library/unittest.rst:188 msgid "For a list of all the command-line options::" -msgstr "" +msgstr "Para obtener una lista de todas las opciones de línea de órdenes::" #: ../Doc/library/unittest.rst:192 msgid "" "In earlier versions it was only possible to run individual test methods and " "not modules or classes." msgstr "" +"En versiones anteriores sólo era posible ejecutar métodos de prueba " +"individuales, pero no módulos ni clases." #: ../Doc/library/unittest.rst:198 msgid "Command-line options" -msgstr "" +msgstr "Opciones de la línea de órdenes" #: ../Doc/library/unittest.rst:200 msgid ":program:`unittest` supports these command-line options:" msgstr "" +":program:`unittest` da soporte a las siguientes opciones de línea de órdenes:" #: ../Doc/library/unittest.rst:206 msgid "" @@ -285,6 +384,10 @@ msgid "" "run. Output during a passing test is discarded. Output is echoed normally on " "test fail or error and is added to the failure messages." msgstr "" +"Los flujos de datos de salida estándar y error estándar se acumulan en un " +"búfer durante la ejecución de pruebas. La salida de las pruebas correctas se " +"descarta. La salida de las pruebas que fallan o devuelven un error se añade " +"a los mensajes de fallo." #: ../Doc/library/unittest.rst:212 msgid "" @@ -292,15 +395,21 @@ msgid "" "then reports all the results so far. A second :kbd:`Control-C` raises the " "normal :exc:`KeyboardInterrupt` exception." msgstr "" +"La pulsación de :kbd:`Control-C` durante la ejecución de pruebas espera a " +"que termine la prueba en curso y da un informe de los resultados hasta ese " +"momento. Una segunda pulsación de :kbd:`Control-C` lanza la excepción :exc:" +"`KeyboardInterrupt` usual." #: ../Doc/library/unittest.rst:216 msgid "" "See `Signal Handling`_ for the functions that provide this functionality." msgstr "" +"Consultar en `Gestión de señales`_ las funciones que proporcionan esta " +"funcionalidad." #: ../Doc/library/unittest.rst:220 msgid "Stop the test run on the first error or failure." -msgstr "" +msgstr "Finaliza la ejecución tras el primer error o fallo." #: ../Doc/library/unittest.rst:224 msgid "" @@ -308,6 +417,10 @@ msgid "" "option may be used multiple times, in which case all test cases that match " "of the given patterns are included." msgstr "" +"Ejecutar solamente los métodos y clases de prueba que coincidan con el " +"patrón o subcadena. Esta opción se puede usar más de una vez, en cuyo caso " +"se incluirán todos los casos de prueba que coincidan con cualquiera de los " +"patrones dados." #: ../Doc/library/unittest.rst:228 msgid "" @@ -315,12 +428,17 @@ msgid "" "test name using :meth:`fnmatch.fnmatchcase`; otherwise simple case-sensitive " "substring matching is used." msgstr "" +"Los patrones que contengan un comodín (``*``) se comprueban contra el nombre " +"de la prueba usando :meth:`fnmatch.fnmatchcase`; si no lo contienen, se usa " +"una comprobación de contenido simple sensible a mayúsculas." #: ../Doc/library/unittest.rst:232 msgid "" "Patterns are matched against the fully qualified test method name as " "imported by the test loader." msgstr "" +"Los patrones se comprueban contra el nombre del método completamente " +"cualificado como lo importa el cargador de pruebas." #: ../Doc/library/unittest.rst:235 msgid "" @@ -328,32 +446,37 @@ msgid "" "``bar_tests.SomeTest.test_foo``, but not ``bar_tests.FooTest." "test_something``." msgstr "" +"Por ejemplo, ``-k foo`` coincide con ``foo_tests.SomeTest.test_something`` y " +"con ``bar_tests.SomeTest.test_foo``, pero no con ``bar_tests.FooTest." +"test_something``." #: ../Doc/library/unittest.rst:240 msgid "Show local variables in tracebacks." -msgstr "" +msgstr "Mostrar las variables locales en las trazas." #: ../Doc/library/unittest.rst:242 msgid "The command-line options ``-b``, ``-c`` and ``-f`` were added." -msgstr "" +msgstr "Se añadieron las opciones de línea de órdenes ``-b``, ``-c`` y ``-f``." #: ../Doc/library/unittest.rst:245 msgid "The command-line option ``--locals``." -msgstr "" +msgstr "La opción de línea de órdenes ``--locals``." #: ../Doc/library/unittest.rst:248 msgid "The command-line option ``-k``." -msgstr "" +msgstr "La opción de línea de órdenes ``-k``." #: ../Doc/library/unittest.rst:251 msgid "" "The command line can also be used for test discovery, for running all of the " "tests in a project or just a subset." msgstr "" +"La línea de órdenes también se puede usar para descubrimiento de pruebas, " +"para ejecutar todas las pruebas de un proyecto o un subconjunto de éstas." #: ../Doc/library/unittest.rst:258 msgid "Test Discovery" -msgstr "" +msgstr "Descubrimiento de pruebas" #: ../Doc/library/unittest.rst:262 msgid "" @@ -364,12 +487,21 @@ msgid "" "(this means that their filenames must be valid :ref:`identifiers " "`)." msgstr "" +"Unittest da soporte al descubrimiento de pruebas simples. Para ser " +"compatible con el descubrimiento de pruebas, todos los ficheros de prueba " +"deben ser :ref:`módulos ` o :ref:`paquetes ` " +"(incluyendo :term:`paquetes nominales `) importables " +"desde el directorio superior del proyecto (por lo que sus nombres han de " +"ser :ref:`identificadores ` válidos)." #: ../Doc/library/unittest.rst:269 msgid "" "Test discovery is implemented in :meth:`TestLoader.discover`, but can also " "be used from the command line. The basic command-line usage is::" msgstr "" +"El descubrimiento de pruebas está implementado en :meth:`TestLoader." +"discover`, pero también se puede usar desde la línea de órdenes. La línea de " +"órdenes básica es::" #: ../Doc/library/unittest.rst:277 msgid "" @@ -377,26 +509,30 @@ msgid "" "unittest discover``. If you want to pass arguments to test discovery the " "``discover`` sub-command must be used explicitly." msgstr "" +"Como atajo, ``python -m unittest`` es el equivalente de ``python -m unittest " +"discover``. Si se desea pasar argumentos al descubrimiento de pruebas, hay " +"que pasar la sub-orden ``discover`` explícitamente." #: ../Doc/library/unittest.rst:281 msgid "The ``discover`` sub-command has the following options:" -msgstr "" +msgstr "La sub-orden ``discover`` cuenta con las siguientes opciones:" #: ../Doc/library/unittest.rst:287 msgid "Verbose output" -msgstr "" +msgstr "Salida verbosa" #: ../Doc/library/unittest.rst:291 msgid "Directory to start discovery (``.`` default)" -msgstr "" +msgstr "Directorio de inicio para el descubrimiento (``.`` si se omite)" #: ../Doc/library/unittest.rst:295 msgid "Pattern to match test files (``test*.py`` default)" msgstr "" +"Patrón para la búsqueda de ficheros de prueba (``test*.py`` si se omite)" #: ../Doc/library/unittest.rst:299 msgid "Top level directory of project (defaults to start directory)" -msgstr "" +msgstr "Directorio superior del proyecto (el directorio inicial si se omite)" #: ../Doc/library/unittest.rst:301 msgid "" @@ -404,6 +540,9 @@ msgid "" "positional arguments in that order. The following two command lines are " "equivalent::" msgstr "" +"Las opciones :option:`-s`, :option:`-p`, y :option:`-t` se pueden pasar por " +"posición en el orden mostrado. Las siguientes líneas de órdenes son " +"equivalentes::" #: ../Doc/library/unittest.rst:308 msgid "" @@ -412,6 +551,10 @@ msgid "" "supply will then be imported and its location on the filesystem will be used " "as the start directory." msgstr "" +"Además de pasar una ruta, es posible pasar el nombre de un paquete, por " +"ejemplo ``myproject.subpackage.test``, como directorio de inicio. El nombre " +"de paquete proporcionado será importado y su ubicación en el sistema de " +"archivos será utilizada como directorio de inicio." #: ../Doc/library/unittest.rst:315 msgid "" @@ -420,6 +563,11 @@ msgid "" "into package names to import. For example :file:`foo/bar/baz.py` will be " "imported as ``foo.bar.baz``." msgstr "" +"El descubrimiento de pruebas carga las pruebas importándolas. Una vez que el " +"descubrimiento ha encontrado todos los ficheros de prueba a partir del " +"directorio inicial, especificado, convierte las rutas en nombres de paquetes " +"a importar. Por ejemplo, :file:`foo/bar/baz.py` será importado como ``foo." +"bar.baz``." #: ../Doc/library/unittest.rst:320 msgid "" @@ -427,6 +575,10 @@ msgid "" "different copy of the package then the import *could* happen from the wrong " "place. If this happens test discovery will warn you and exit." msgstr "" +"Si hay un paquete instalado globalmente y se intenta hacer un descubrimiento " +"sobre una copia diferente a la instalada del paquete, *podría* ocurrir que " +"se importe la versión incorrecta. Si ocurre esto, el descubrimiento lanza " +"una advertencia y abandona." #: ../Doc/library/unittest.rst:324 msgid "" @@ -434,12 +586,17 @@ msgid "" "directory then discover assumes that whichever location it imports from is " "the location you intended, so you will not get the warning." msgstr "" +"Si se proporciona el directorio de inicio como nombre de paquete en lugar de " +"ruta a un directorio, el descubrimiento asume que la ubicación importada es " +"la deseada, así que no se da la advertencia descrita." #: ../Doc/library/unittest.rst:329 msgid "" "Test modules and packages can customize test loading and discovery by " "through the `load_tests protocol`_." msgstr "" +"Los módulos y paquetes de prueba pueden personalizar la carta y " +"descubrimiento de pruebas mediante el `protocolo load_tests`_." #: ../Doc/library/unittest.rst:332 msgid "" @@ -447,10 +604,14 @@ msgid "" "start directory. Note that you need to the top level directory too. (e.g. " "``python -m unittest discover -s root/namespace -t root``)." msgstr "" +"El descubrimiento de pruebas admite :term:`paquetes nominales ` para el directorio de inicio. Tenga en cuenta que también se " +"necesita el directorio de nivel superior. (por ejemplo, ``python -m unittest " +"discover -s root/namespace -t root``)." #: ../Doc/library/unittest.rst:341 msgid "Organizing test code" -msgstr "" +msgstr "Organización del código de pruebas" #: ../Doc/library/unittest.rst:343 msgid "" @@ -460,6 +621,12 @@ msgid "" "instances. To make your own test cases you must write subclasses of :class:" "`TestCase` or use :class:`FunctionTestCase`." msgstr "" +"Los bloques de construcción básicos de las pruebas unitarias son los :dfn:" +"`test cases`, escenarios simples que se han de configurar y cuya corrección " +"hay que comprobar. En :mod:`unittest`, los casos de prueba están " +"representados por instancias de :class:`unittest.TestCase`. Para crear " +"nuevos casos de prueba, hay que escribir subclases de :class:`TestCase` o " +"usar :class:`FunctionTestCase`." #: ../Doc/library/unittest.rst:349 msgid "" @@ -467,6 +634,9 @@ msgid "" "contained, such that it can be run either in isolation or in arbitrary " "combination with any number of other test cases." msgstr "" +"El código de pruebas de una instancia de :class:`TestCase` debería ser " +"completamente autónomo, de tal modo que se pueda ejecutar aisladamente o en " +"una combinación arbitraria con otras clases de prueba." #: ../Doc/library/unittest.rst:353 msgid "" @@ -474,6 +644,9 @@ msgid "" "(i.e. a method whose name starts with ``test``) in order to perform specific " "testing code::" msgstr "" +"La subclase más simple de :class:`TestCase` se limita a implementar un " +"método test (o un método que empiece por ``test``) para realizar código de " +"prueba específico::" #: ../Doc/library/unittest.rst:364 msgid "" @@ -483,6 +656,11 @@ msgid "" "will identify the test case as a :dfn:`failure`. Any other exceptions will " "be treated as :dfn:`errors`." msgstr "" +"Adviértase que para probar algo, usamos uno de los métodos :meth:`assert\\*` " +"proporcionados por la clase base :class:`TestCase`. Si la prueba no tiene " +"éxito, se lanzará una excepción con un mensaje explicativo y :mod:`unittest` " +"identificará el caso como :dfn:`failure`. Cualquier otra excepción se " +"considerará un :dfn:`errors`." #: ../Doc/library/unittest.rst:370 msgid "" @@ -491,12 +669,18 @@ msgid "" "setUp`, which the testing framework will automatically call for every single " "test we run::" msgstr "" +"Las pruebas pueden ser muchas y su preparación puede ser repetitiva. Por " +"suerte, se puede \"sacar factor común\" a la preparación implementando un " +"método :meth:`~TestCase.setUp`, al que la infraestructura de prueba llamará " +"para cada prueba que se ejecute::" #: ../Doc/library/unittest.rst:391 msgid "" "The order in which the various tests will be run is determined by sorting " "the test method names with respect to the built-in ordering for strings." msgstr "" +"El orden en que se ejecutan las diversas pruebas se determina por orden " +"alfabético de los nombres de métodos de prueba." #: ../Doc/library/unittest.rst:395 msgid "" @@ -504,18 +688,25 @@ msgid "" "running, the framework will consider the test to have suffered an error, and " "the test method will not be executed." msgstr "" +"Si el método :meth:`~TestCase.setUp` lanza una excepción mientras se ejecuta " +"la prueba, la infraestructura considerará que la prueba ha sufrido un error " +"y no se ejecutará el método de prueba propiamente dicho." #: ../Doc/library/unittest.rst:399 msgid "" "Similarly, we can provide a :meth:`~TestCase.tearDown` method that tidies up " "after the test method has been run::" msgstr "" +"Análogamente, se puede proporcionar un método :meth:`~TestCase.tearDown` que " +"haga limpieza después de que se ejecute el método de prueba::" #: ../Doc/library/unittest.rst:411 msgid "" "If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run " "whether the test method succeeded or not." msgstr "" +"Si :meth:`~TestCase.setUp` se ejecuta sin errores, :meth:`~TestCase." +"tearDown` se ejecutará tanto si el método de prueba tuvo éxito como si no." #: ../Doc/library/unittest.rst:414 msgid "" @@ -525,6 +716,11 @@ msgid "" "`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called once per " "test." msgstr "" +"Un entorno de trabajo así para el código de pruebas se llama :dfn:`test " +"fixture` . Se crea una nueva instancia de TestCase como juego de datos de " +"prueba que se utiliza para cada método de prueba. De este modo, :meth:" +"`~TestCase.setUp`, :meth:`~TestCase.tearDown` y :meth:`~TestCase.__init__` " +"se llamarán una vez por prueba." #: ../Doc/library/unittest.rst:420 msgid "" @@ -535,12 +731,20 @@ msgid "" "do the right thing and collect all the module's test cases for you and " "execute them." msgstr "" +"Se recomienda usar implementaciones de `TestCase` para agrupar las pruebas " +"de acuerdo con las características probadas. :mod:`unittest` proporciona una " +"mecanismo para esto: el :dfn:`test suite`, representado por la clase :class:" +"`TestSuite` de :mod:`unittest`. En la mayor parte de los casos, llamar a :" +"func:`unittest.main` hará lo correcto y recolectará todos los casos de " +"prueba del módulo para su ejecución." #: ../Doc/library/unittest.rst:427 msgid "" "However, should you want to customize the building of your test suite, you " "can do it yourself::" msgstr "" +"Sin embargo, si se desea personalizar la construcción del paquete de " +"pruebas, se puede hacer::" #: ../Doc/library/unittest.rst:440 msgid "" @@ -549,44 +753,60 @@ msgid "" "are several advantages to placing the test code in a separate module, such " "as :file:`test_widget.py`:" msgstr "" +"Se puede poner las definiciones de los casos de prueba y de los paquetes de " +"prueba en los mismos módulos que el código que prueban.(tal como :file:" +"`widget.py`), pero sacarlos a un módulo aparte como :file:`test_widget.py` " +"tiene diversas ventajas:" #: ../Doc/library/unittest.rst:445 msgid "The test module can be run standalone from the command line." msgstr "" +"El módulo de pruebas se puede ejecutar aisladamente desde la línea de " +"órdenes." #: ../Doc/library/unittest.rst:447 msgid "The test code can more easily be separated from shipped code." msgstr "" +"El código de pruebas se puede separar con más facilidad del código de " +"producción." #: ../Doc/library/unittest.rst:449 msgid "" "There is less temptation to change test code to fit the code it tests " "without a good reason." msgstr "" +"Disminuye la tentación de cambiar el código de prueba para ajustarse al " +"código bajo prueba." #: ../Doc/library/unittest.rst:452 msgid "" "Test code should be modified much less frequently than the code it tests." msgstr "" +"El código de pruebas debería modificarse con mucha menor frecuencia que el " +"código bajo prueba." #: ../Doc/library/unittest.rst:454 msgid "Tested code can be refactored more easily." -msgstr "" +msgstr "Es más sencillo refactorizar el código bajo prueba." #: ../Doc/library/unittest.rst:456 msgid "" "Tests for modules written in C must be in separate modules anyway, so why " "not be consistent?" msgstr "" +"El código para probar módulos escritos en C ha de estar en módulos aparte, " +"así que ¿por qué no mantener la consistencia?" #: ../Doc/library/unittest.rst:459 msgid "" "If the testing strategy changes, there is no need to change the source code." msgstr "" +"Si cambia la estrategia de prueba, no hay razón para cambiar el código " +"fuente principal." #: ../Doc/library/unittest.rst:465 msgid "Re-using old test code" -msgstr "" +msgstr "Reutilización de código de prueba anterior" #: ../Doc/library/unittest.rst:467 msgid "" @@ -594,6 +814,9 @@ msgid "" "to run from :mod:`unittest`, without converting every old test function to " "a :class:`TestCase` subclass." msgstr "" +"Habrá personas que tengan código de prueba previo que deseen ejecutar desde :" +"mod:`unittest`, sin conversión previa de cada antigua función de prueba a " +"una subclase de :class:`TestCase`." #: ../Doc/library/unittest.rst:471 msgid "" @@ -601,16 +824,22 @@ msgid "" "This subclass of :class:`TestCase` can be used to wrap an existing test " "function. Set-up and tear-down functions can also be provided." msgstr "" +"Por esto, :mod:`unittest` proporciona una clase :class:`FunctionTestCase`. " +"Se puede utilizar esta subclase de :class:`TestCase` para envolver una " +"función de prueba existente. Se pueden proporcionar también funciones de " +"preparación y desmontaje." #: ../Doc/library/unittest.rst:475 msgid "Given the following test function::" -msgstr "" +msgstr "Dada la siguiente función de prueba::" #: ../Doc/library/unittest.rst:482 msgid "" "one can create an equivalent test case instance as follows, with optional " "set-up and tear-down methods::" msgstr "" +"se puede crear una instancia de caso de prueba de la siguiente manera, con " +"métodos opcionales de preparación y desmontaje::" #: ../Doc/library/unittest.rst:491 msgid "" @@ -619,6 +848,11 @@ msgid "" "is not recommended. Taking the time to set up proper :class:`TestCase` " "subclasses will make future test refactorings infinitely easier." msgstr "" +"Aunque se puede usar :class:`FunctionTestCase` para convertir rápidamente " +"unas pruebas existentes a un sistema basado en :mod:`unittest`, no es una " +"vía recomendada. Tomarse el tiempo de construir subclases bien construidas " +"de :class:`TestCase` hará las futuras refactorizaciones de pruebas futura " +"considerablemente más fácil." #: ../Doc/library/unittest.rst:496 msgid "" @@ -627,10 +861,14 @@ msgid "" "class that can automatically build :class:`unittest.TestSuite` instances " "from the existing :mod:`doctest`\\ -based tests." msgstr "" +"En algunos casos, los tests existentes pueden haber sido escritos usando el " +"módulo :mod:`doctest`. En ese caso, :mod:`doctest` tiene una clase :class:" +"`DocTestSuite` que puede construir automáticamente instancias de :class:" +"`unittest.TestSuite` partiendo de los test basados en :mod:`doctest`." #: ../Doc/library/unittest.rst:505 msgid "Skipping tests and expected failures" -msgstr "" +msgstr "Omitir tests y fallos esperados" #: ../Doc/library/unittest.rst:509 msgid "" @@ -639,6 +877,10 @@ msgid "" "a test that is broken and will fail, but shouldn't be counted as a failure " "on a :class:`TestResult`." msgstr "" +"Unittest soporta omitir métodos individuales de tests e incluso clases " +"completas de tests. Además, soporta marcar un test como un \"fallo esperado" +"\", un test que está roto y va a fallar, pero no debería ser contado como " +"fallo en :class:`TestResult`." #: ../Doc/library/unittest.rst:514 msgid "" @@ -647,28 +889,34 @@ msgid "" "skipTest` within a :meth:`~TestCase.setUp` or test method, or raising :exc:" "`SkipTest` directly." msgstr "" +"Omitir un test es solo cuestión de emplear el :term:`decorator` :func:`skip` " +"o una de sus variantes condicionales, llamando a :meth:`TestCase.skipTest` " +"dentro de :meth:`~TestCase.setUp` o en un método de test, o lanzando :exc:" +"`SkipTest` directamente." #: ../Doc/library/unittest.rst:518 msgid "Basic skipping looks like this::" -msgstr "" +msgstr "La omisión más básica tiene la siguiente forma:" #: ../Doc/library/unittest.rst:543 msgid "This is the output of running the example above in verbose mode::" -msgstr "" +msgstr "Esta es la salida de ejecutar el ejemplo superior en modo verboso::" #: ../Doc/library/unittest.rst:555 msgid "Classes can be skipped just like methods::" -msgstr "" +msgstr "Las clases pueden ser omitidas igual que los métodos::" #: ../Doc/library/unittest.rst:562 msgid "" ":meth:`TestCase.setUp` can also skip the test. This is useful when a " "resource that needs to be set up is not available." msgstr "" +":meth:`TestCase.setUp` puede omitir también el test. Esto es útil cuando un " +"recurso que necesita ser puesto a punto no está disponible." #: ../Doc/library/unittest.rst:565 msgid "Expected failures use the :func:`expectedFailure` decorator. ::" -msgstr "" +msgstr "Los fallos esperados emplean el decorador :func:`expectedFailure`. ::" #: ../Doc/library/unittest.rst:572 msgid "" @@ -676,26 +924,33 @@ msgid "" "calls :func:`skip` on the test when it wants it to be skipped. This " "decorator skips the test unless the passed object has a certain attribute::" msgstr "" +"Es fácil lanzar tus propios decoradores que omitan haciendo un decorador que " +"llame a :func:`skip` en el test cuando quiere ser omitido. Este decorador " +"omite el test a menos que el objeto pasado tenga un cierto atributo::" #: ../Doc/library/unittest.rst:581 msgid "" "The following decorators and exception implement test skipping and expected " "failures:" msgstr "" +"Los siguientes decoradores y la excepción implementan la omisión de tests y " +"los fallos esperados:" #: ../Doc/library/unittest.rst:585 msgid "" "Unconditionally skip the decorated test. *reason* should describe why the " "test is being skipped." msgstr "" +"Omitir incondicionalmente el test decorado. *reason* debe describir porqué " +"el test está siendo omitido." #: ../Doc/library/unittest.rst:590 msgid "Skip the decorated test if *condition* is true." -msgstr "" +msgstr "Omitir el test decorado si *condition* es verdadero." #: ../Doc/library/unittest.rst:594 msgid "Skip the decorated test unless *condition* is true." -msgstr "" +msgstr "Omitir el test decorado a menos que *condition* sea verdadero." #: ../Doc/library/unittest.rst:598 msgid "" @@ -703,16 +958,20 @@ msgid "" "it will be considered a success. If the test passes, it will be considered " "a failure." msgstr "" +"Marca el test como un fallo esperado. Si el test falla será considerado un " +"éxito. Si el test pasa, será considerado un fallo." #: ../Doc/library/unittest.rst:604 msgid "This exception is raised to skip a test." -msgstr "" +msgstr "Esta excepción es lanzada para omitir un test." #: ../Doc/library/unittest.rst:606 msgid "" "Usually you can use :meth:`TestCase.skipTest` or one of the skipping " "decorators instead of raising this directly." msgstr "" +"Normalmente puedes usar directamente :meth:`TestCase.skipTest` o uno de los " +"decoradores de omisión en vez de lanzar esta excepción." #: ../Doc/library/unittest.rst:609 msgid "" @@ -721,10 +980,14 @@ msgid "" "setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped modules will not " "have :func:`setUpModule` or :func:`tearDownModule` run." msgstr "" +"Los tests omitidos no ejecutarán :meth:`~TestCase.setUp` o :meth:`~TestCase." +"tearDown`. Las clases omitidas no ejecutarán :meth:`~TestCase.setUpClass` o :" +"meth:`~TestCase.tearDownClass`. Los módulos omitidos no ejecutarán :func:" +"`setUpModule` o :func:`tearDownModule`." #: ../Doc/library/unittest.rst:617 msgid "Distinguishing test iterations using subtests" -msgstr "" +msgstr "Distinguiendo iteraciones de tests empleando subtests" #: ../Doc/library/unittest.rst:621 msgid "" @@ -732,14 +995,17 @@ msgid "" "parameters, unittest allows you to distinguish them inside the body of a " "test method using the :meth:`~TestCase.subTest` context manager." msgstr "" +"Cuando hay diferencias muy pequeñas entre tus tests, por ejemplo algunos " +"parámetros, unittest te permite distinguirlos dentro del cuerpo de un método " +"de test empleando el administrador de contexto :meth:`~TestCase.subTest` ." #: ../Doc/library/unittest.rst:625 msgid "For example, the following test::" -msgstr "" +msgstr "Por ejemplo, el siguiente test::" #: ../Doc/library/unittest.rst:637 msgid "will produce the following output::" -msgstr "" +msgstr "producirá la siguiente salida:" #: ../Doc/library/unittest.rst:663 msgid "" @@ -747,18 +1013,21 @@ msgid "" "the error would be less easy to diagnose because the value of ``i`` wouldn't " "be displayed::" msgstr "" +"Sin usar un subtest, la ejecución se pararía después del primer fallo, y el " +"error sería más difícil de diagnosticar porque el valor de ``i`` no se " +"mostraría::" #: ../Doc/library/unittest.rst:679 msgid "Classes and functions" -msgstr "" +msgstr "Clases y funciones" #: ../Doc/library/unittest.rst:681 msgid "This section describes in depth the API of :mod:`unittest`." -msgstr "" +msgstr "Esta sección describe en detalle la API de :mod:`unittest`." #: ../Doc/library/unittest.rst:687 msgid "Test cases" -msgstr "" +msgstr "Casos de test" #: ../Doc/library/unittest.rst:691 msgid "" @@ -769,6 +1038,13 @@ msgid "" "drive the tests, and methods that the test code can use to check for and " "report various kinds of failure." msgstr "" +"Las instancias de la clase :class:`TestCase` representan las unidades " +"lógicas de test en el universo de :mod:`unittest`. Esta clase está pensada " +"para ser utilizada como clase base, con los test específicos siendo " +"implementados por subclases concretas. Esta clase implementa la interfaz que " +"necesita el ejecutor de tests para permitirle llevar a cabo los tests, y " +"métodos que el código de test puede utilizar para chequear y reportar " +"distintos tipos de fallo." #: ../Doc/library/unittest.rst:698 msgid "" @@ -776,6 +1052,10 @@ msgid "" "named *methodName*. In most uses of :class:`TestCase`, you will neither " "change the *methodName* nor reimplement the default ``runTest()`` method." msgstr "" +"Cada instancia de :class:`TestCase` ejecutará un solo método base: el " +"método llamado *methodName*. En la mayoría de usos de :class:`TestCase`, no " +"tendrás que cambiar el *methodName* ni reimplementar el método por defecto " +"``runTest()``." #: ../Doc/library/unittest.rst:703 msgid "" @@ -783,6 +1063,9 @@ msgid "" "*methodName*. This makes it easier to experiment with :class:`TestCase` from " "the interactive interpreter." msgstr "" +":class:`TestCase` puede instancias con éxito sin dar un *methodName*. Esto " +"permite experimentar de manera sencilla con :class:`TestCase` en el " +"intérprete interactivo." #: ../Doc/library/unittest.rst:708 msgid "" @@ -791,10 +1074,14 @@ msgid "" "and report failures, and some inquiry methods allowing information about the " "test itself to be gathered." msgstr "" +"Las instancias de :class:`TestCase` proveen tres grupos de métodos: un " +"grupo empleado para ejecutar el test, otro usado para que la implementación " +"del test chequee condiciones y reporte fallos, y algunos métodos de " +"indagación que permiten recopilar información sobre el test en si mismo." #: ../Doc/library/unittest.rst:713 msgid "Methods in the first group (running the test) are:" -msgstr "" +msgstr "Los métodos en el primer grupo (ejecutando el test) son:" #: ../Doc/library/unittest.rst:717 msgid "" @@ -803,6 +1090,11 @@ msgid "" "`SkipTest`, any exception raised by this method will be considered an error " "rather than a test failure. The default implementation does nothing." msgstr "" +"Método llamado para preparar el banco de test. Es invocado inmediatamente " +"antes de llamar al método de test; cualquier excepción lanzada por este " +"método que no sea :exc:`AssertionError` o :exc:`SkipTest` será considerada " +"un error en vez de un fallo del test. La implementación por defecto no hace " +"nada." #: ../Doc/library/unittest.rst:725 msgid "" @@ -816,6 +1108,16 @@ msgid "" "the :meth:`setUp` succeeds, regardless of the outcome of the test method. " "The default implementation does nothing." msgstr "" +"Método llamado inmediatamente después de que se haya llamado el método de " +"prueba y se haya registrado el resultado. Se llama así aunque el método de " +"ensayo haya planteado una excepción, por lo que la aplicación en las " +"subclases puede tener que ser especialmente cuidadosa en cuanto a la " +"comprobación del estado interno. Cualquier excepción, que no sea :exc:" +"`AssertionError` o :exc:`SkipTest`, planteada por este método se " +"considerará un error adicional en lugar de un fallo de la prueba (aumentando " +"así el número total de errores reportados). Este método sólo se llamará si :" +"meth:`setUp` tiene éxito, independientemente del resultado del método de " +"prueba. La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:738 msgid "" @@ -823,10 +1125,13 @@ msgid "" "``setUpClass`` is called with the class as the only argument and must be " "decorated as a :func:`classmethod`::" msgstr "" +"Un método de clase llamado antes de que los tests en una clase individual " +"sean ejecutados. ``setUpClass`` es llamado con la clase como el único " +"argumento y debe ser decorada como :func:`classmethod`::" #: ../Doc/library/unittest.rst:746 ../Doc/library/unittest.rst:761 msgid "See `Class and Module Fixtures`_ for more details." -msgstr "" +msgstr "Vea `Class and Module Fixtures`_ para más detalles." #: ../Doc/library/unittest.rst:753 msgid "" @@ -834,6 +1139,9 @@ msgid "" "``tearDownClass`` is called with the class as the only argument and must be " "decorated as a :meth:`classmethod`::" msgstr "" +"Un método de clase llamado después de que se hayan realizado tests en una " +"clase individual. ``tearDownClass`` se llama con la clase como único " +"argumento y debe ser decorado como un :meth:`classmethod`::" #: ../Doc/library/unittest.rst:768 msgid "" @@ -842,23 +1150,34 @@ msgid "" "object is created (by calling the :meth:`defaultTestResult` method) and " "used. The result object is returned to :meth:`run`'s caller." msgstr "" +"Ejecutar la prueba, recogiendo el resultado en el objeto :class:" +"`TestResult` pasado como *result*. Si se omite *result* o ``None``, se " +"crea un objeto resultado temporal (llamando al método :meth:" +"`defaultTestResult`) y se emplea ese. El objeto resultante se devuelve al " +"invocador de :meth:`run`." #: ../Doc/library/unittest.rst:774 msgid "" "The same effect may be had by simply calling the :class:`TestCase` instance." msgstr "" +"El mismo efecto puede conseguirse simplemente llamando a la instancia :class:" +"`TestCase`." #: ../Doc/library/unittest.rst:777 msgid "" "Previous versions of ``run`` did not return the result. Neither did calling " "an instance." msgstr "" +"Las versiones previas de ``run`` no retornaban el resultado. Tampoco lo " +"hacía la llamada a una instancia." #: ../Doc/library/unittest.rst:783 msgid "" "Calling this during a test method or :meth:`setUp` skips the current test. " "See :ref:`unittest-skipping` for more information." msgstr "" +"Llamar a esto durante un método de prueba o :meth:`setUp` se salta el test " +"actual. Ver :ref:`unittest-skipping` para más información." #: ../Doc/library/unittest.rst:791 msgid "" @@ -866,16 +1185,21 @@ msgid "" "subtest. *msg* and *params* are optional, arbitrary values which are " "displayed whenever a subtest fails, allowing you to identify them clearly." msgstr "" +"Retorna un gestor de contexto que ejecuta el bloque de código adjunto como " +"un subtest. *msg* y *params* son valores opcionales y arbitrarios que se " +"muestran cuando falla un subtest, permitiéndole identificarlos claramente." #: ../Doc/library/unittest.rst:796 msgid "" "A test case can contain any number of subtest declarations, and they can be " "arbitrarily nested." msgstr "" +"Un caso de test puede contener cualquier número de declaraciones de subtest, " +"y pueden anidarse arbitrariamente." #: ../Doc/library/unittest.rst:799 msgid "See :ref:`subtests` for more information." -msgstr "" +msgstr "Ver :ref:`subtests` para más información." #: ../Doc/library/unittest.rst:806 msgid "" @@ -883,6 +1207,9 @@ msgid "" "by the test to be propagated to the caller, and can be used to support " "running tests under a debugger." msgstr "" +"Realice el test sin recoger el resultado. Esto permite que las excepciones " +"planteadas por el test se propaguen al invocado, y puede utilizarse para " +"apoyar la ejecución de tests bajo un depurador." #: ../Doc/library/unittest.rst:812 msgid "" @@ -890,61 +1217,65 @@ msgid "" "report failures. The following table lists the most commonly used methods " "(see the tables below for more assert methods):" msgstr "" +"La clase :class:`TestCase` proporciona varios métodos de afirmación para " +"comprobar y reportar fallos. En la siguiente tabla se enumeran los métodos " +"más utilizados (consulte las tablas siguientes para ver más métodos de " +"afirmación):" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "Method" -msgstr "" +msgstr "Método" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 msgid "Checks that" -msgstr "" +msgstr "Comprueba que" #: ../Doc/library/unittest.rst:817 ../Doc/library/unittest.rst:938 #: ../Doc/library/unittest.rst:1131 ../Doc/library/unittest.rst:1258 msgid "New in" -msgstr "" +msgstr "Nuevo en" #: ../Doc/library/unittest.rst:819 msgid ":meth:`assertEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertEqual(a, b) `" #: ../Doc/library/unittest.rst:819 msgid "``a == b``" -msgstr "" +msgstr "``a == b``" #: ../Doc/library/unittest.rst:822 msgid ":meth:`assertNotEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertNotEqual(a, b) `" #: ../Doc/library/unittest.rst:822 msgid "``a != b``" -msgstr "" +msgstr "``a != b``" #: ../Doc/library/unittest.rst:825 msgid ":meth:`assertTrue(x) `" -msgstr "" +msgstr ":meth:`assertTrue(x) `" #: ../Doc/library/unittest.rst:825 msgid "``bool(x) is True``" -msgstr "" +msgstr "``bool(x) is True``" #: ../Doc/library/unittest.rst:828 msgid ":meth:`assertFalse(x) `" -msgstr "" +msgstr ":meth:`assertFalse(x) `" #: ../Doc/library/unittest.rst:828 msgid "``bool(x) is False``" -msgstr "" +msgstr "``bool(x) is False``" #: ../Doc/library/unittest.rst:831 msgid ":meth:`assertIs(a, b) `" -msgstr "" +msgstr ":meth:`assertIs(a, b) `" #: ../Doc/library/unittest.rst:831 msgid "``a is b``" -msgstr "" +msgstr "``a is b``" #: ../Doc/library/unittest.rst:831 ../Doc/library/unittest.rst:834 #: ../Doc/library/unittest.rst:837 ../Doc/library/unittest.rst:840 @@ -956,69 +1287,69 @@ msgstr "" #: ../Doc/library/unittest.rst:1266 ../Doc/library/unittest.rst:1269 #: ../Doc/library/unittest.rst:1272 ../Doc/library/unittest.rst:1275 msgid "3.1" -msgstr "" +msgstr "3.1" #: ../Doc/library/unittest.rst:834 msgid ":meth:`assertIsNot(a, b) `" -msgstr "" +msgstr ":meth:`assertIsNot(a, b) `" #: ../Doc/library/unittest.rst:834 msgid "``a is not b``" -msgstr "" +msgstr "``a is not b``" #: ../Doc/library/unittest.rst:837 msgid ":meth:`assertIsNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNone(x) `" #: ../Doc/library/unittest.rst:837 msgid "``x is None``" -msgstr "" +msgstr "``x is None``" #: ../Doc/library/unittest.rst:840 msgid ":meth:`assertIsNotNone(x) `" -msgstr "" +msgstr ":meth:`assertIsNotNone(x) `" #: ../Doc/library/unittest.rst:840 msgid "``x is not None``" -msgstr "" +msgstr "``x is not None``" #: ../Doc/library/unittest.rst:843 msgid ":meth:`assertIn(a, b) `" -msgstr "" +msgstr ":meth:`assertIn(a, b) `" #: ../Doc/library/unittest.rst:843 msgid "``a in b``" -msgstr "" +msgstr "``a in b``" #: ../Doc/library/unittest.rst:846 msgid ":meth:`assertNotIn(a, b) `" -msgstr "" +msgstr ":meth:`assertNotIn(a, b) `" #: ../Doc/library/unittest.rst:846 msgid "``a not in b``" -msgstr "" +msgstr "``a not in b``" #: ../Doc/library/unittest.rst:849 msgid ":meth:`assertIsInstance(a, b) `" -msgstr "" +msgstr ":meth:`assertIsInstance(a, b) `" #: ../Doc/library/unittest.rst:849 msgid "``isinstance(a, b)``" -msgstr "" +msgstr "``isinstance(a, b)``" #: ../Doc/library/unittest.rst:849 ../Doc/library/unittest.rst:852 #: ../Doc/library/unittest.rst:946 ../Doc/library/unittest.rst:949 #: ../Doc/library/unittest.rst:1154 ../Doc/library/unittest.rst:1157 msgid "3.2" -msgstr "" +msgstr "3.2" #: ../Doc/library/unittest.rst:852 msgid ":meth:`assertNotIsInstance(a, b) `" -msgstr "" +msgstr ":meth:`assertNotIsInstance(a, b) `" #: ../Doc/library/unittest.rst:852 msgid "``not isinstance(a, b)``" -msgstr "" +msgstr "``not isinstance(a, b)``" #: ../Doc/library/unittest.rst:856 msgid "" @@ -1028,12 +1359,20 @@ msgid "" "`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` only when " "they are used as a context manager." msgstr "" +"Todos los métodos de aserción aceptan un argumento *msg* que, si se " +"especifica, se utiliza como mensaje de error en caso de fallo (véase " +"también :data:`longMessage`). Tenga en cuenta que el argumento de la palabra " +"clave *msg* puede pasarse a :meth:`assertRaises`, :meth:" +"`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` sólo " +"cuando se utilizan como gestor de contexto." #: ../Doc/library/unittest.rst:864 msgid "" "Test that *first* and *second* are equal. If the values do not compare " "equal, the test will fail." msgstr "" +"Testea que *first* y *second* son iguales. Si los valores no comparan como " +"iguales, el test fallará." #: ../Doc/library/unittest.rst:867 msgid "" @@ -1044,26 +1383,37 @@ msgid "" "message (see also the :ref:`list of type-specific methods `)." msgstr "" +"Además, si *first* y *second* son exactamente del mismo tipo y uno de lista, " +"tuple, dict, set, frozenset o str o cualquier tipo que una subclase registre " +"con :meth:`addTypeEqualityFunc` se llamará a la función de igualdad " +"específica del tipo para generar un mensaje de error por defecto más útil " +"(véase también la :ref:`lista de métodos específicos del tipo `)." #: ../Doc/library/unittest.rst:874 msgid "Added the automatic calling of type-specific equality function." msgstr "" +"Añadida la llamada automática de la función de igualdad de tipo específico." #: ../Doc/library/unittest.rst:877 msgid "" ":meth:`assertMultiLineEqual` added as the default type equality function for " "comparing strings." msgstr "" +":meth:`assertMultiLineEqual` añadido como la función por defecto para " +"igualdad de tipos cuando se comparan cadenas." #: ../Doc/library/unittest.rst:884 msgid "" "Test that *first* and *second* are not equal. If the values do compare " "equal, the test will fail." msgstr "" +"Testea que *first* y *second* no son iguales. Si los valores son iguales, " +"el test fallará." #: ../Doc/library/unittest.rst:890 msgid "Test that *expr* is true (or false)." -msgstr "" +msgstr "Testea que *expr* es verdadero (o falso)." #: ../Doc/library/unittest.rst:892 msgid "" @@ -1073,18 +1423,23 @@ msgid "" "``assertEqual(a, b)`` instead of ``assertTrue(a == b)``), because they " "provide a better error message in case of failure." msgstr "" +"Note que esto es equivalente a ``bool(expr) is True`` y no a ``expr is " +"True`` (use ``assertIs(expr, True)`` para lo último). Este método también " +"debe evitarse cuando se disponga de métodos más específicos (por ejemplo, " +"``assertEqual(a, b)`` en lugar de ``assertTrue(a == b)``), porque " +"proporcionan un mejor mensaje de error en caso de fallo." #: ../Doc/library/unittest.rst:902 msgid "Test that *first* and *second* are (or are not) the same object." -msgstr "" +msgstr "Testea si *first* y *second* son (o no) el mismo objeto." #: ../Doc/library/unittest.rst:910 msgid "Test that *expr* is (or is not) ``None``." -msgstr "" +msgstr "Testea que *expr* es (o no es) ``None``." #: ../Doc/library/unittest.rst:918 msgid "Test that *member* is (or is not) in *container*." -msgstr "" +msgstr "Testea que *member* está (o no está) en *container*." #: ../Doc/library/unittest.rst:926 msgid "" @@ -1092,60 +1447,71 @@ msgid "" "a tuple of classes, as supported by :func:`isinstance`). To check for the " "exact type, use :func:`assertIs(type(obj), cls) `." msgstr "" +"Testea que *obj* es (o no es) una instancia de *cls* (que puede ser una " +"clase o una tupla de clases, de la misma forma que soporta :func:" +"`isinstance`). Para chequear por el tipo exacto, use :func:" +"`assertIs(type(obj), cls) `." #: ../Doc/library/unittest.rst:934 msgid "" "It is also possible to check the production of exceptions, warnings, and log " "messages using the following methods:" msgstr "" +"Es también posible chequear la producción de excepciones, advertencias y " +"mensajes de log usando los siguientes métodos:" #: ../Doc/library/unittest.rst:940 msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertRaises(exc, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:940 msgid "``fun(*args, **kwds)`` raises *exc*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *exc*" #: ../Doc/library/unittest.rst:943 msgid "" ":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:943 msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *exc* y el mensaje coincide con regex *r*" #: ../Doc/library/unittest.rst:946 msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertWarns(warn, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:946 msgid "``fun(*args, **kwds)`` raises *warn*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lanza *warn*" #: ../Doc/library/unittest.rst:949 msgid "" ":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:949 msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" msgstr "" +"``fun(*args, **kwds)`` lanza *warn* y el mensaje coincide con regex *r*" #: ../Doc/library/unittest.rst:952 msgid ":meth:`assertLogs(logger, level) `" -msgstr "" +msgstr ":meth:`assertLogs(logger, level) `" #: ../Doc/library/unittest.rst:952 msgid "The ``with`` block logs on *logger* with minimum *level*" -msgstr "" +msgstr "El bloque ``with`` vuelca sus logs a *logger* con el *level* mínimo" #: ../Doc/library/unittest.rst:952 msgid "3.4" -msgstr "" +msgstr "3.4" #: ../Doc/library/unittest.rst:959 msgid "" @@ -1156,6 +1522,12 @@ msgid "" "any of a group of exceptions, a tuple containing the exception classes may " "be passed as *exception*." msgstr "" +"Testea que se lanza una excepción cuando se llama a *callable* con cualquier " +"argumento posicional o de palabra clave que también se pasa a :meth:" +"`assertRaises`. El test pasa si se lanza *exception*, es un error si se " +"lanza otra excepción, o falla si no se lanza ninguna excepción. Para tener " +"en cuenta cualquiera de un grupo de excepciones, una tupla que contenga las " +"clases de excepción puede ser pasada como *exception*." #: ../Doc/library/unittest.rst:966 msgid "" @@ -1163,12 +1535,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si sólo se dan los argumentos de *exception* y posiblemente *msg*, retorna " +"un administrador de contexto para que el código testado pueda ser escrito en " +"línea en lugar de como una función::" #: ../Doc/library/unittest.rst:973 msgid "" "When used as a context manager, :meth:`assertRaises` accepts the additional " "keyword argument *msg*." msgstr "" +"Cuando se emplea como un administrador de contexto, :meth:`assertRaises` " +"acepta el argumento por palabra clave adicional *msg*." #: ../Doc/library/unittest.rst:976 msgid "" @@ -1176,19 +1553,25 @@ msgid "" "`exception` attribute. This can be useful if the intention is to perform " "additional checks on the exception raised::" msgstr "" +"El gestor de contexto almacenará el objeto de excepción capturado en su " +"atributo :attr:`exception` . Esto puede ser útil si la intención es " +"realizar comprobaciones adicionales sobre la excepción planteada::" #: ../Doc/library/unittest.rst:986 msgid "Added the ability to use :meth:`assertRaises` as a context manager." msgstr "" +"Añadió la capacidad de usar :meth:`assertRaises` como gestor de contexto." #: ../Doc/library/unittest.rst:989 msgid "Added the :attr:`exception` attribute." -msgstr "" +msgstr "Añadido el atributo :attr:`exception` ." #: ../Doc/library/unittest.rst:992 ../Doc/library/unittest.rst:1018 #: ../Doc/library/unittest.rst:1059 ../Doc/library/unittest.rst:1082 msgid "Added the *msg* keyword argument when used as a context manager." msgstr "" +"Añadido el argumento por palabra clave *msg* cuando se emplea un gestor de " +"contexto." #: ../Doc/library/unittest.rst:999 msgid "" @@ -1197,18 +1580,22 @@ msgid "" "object or a string containing a regular expression suitable for use by :func:" "`re.search`. Examples::" msgstr "" +"Como :meth:`assertRaises` pero también testea que *regex* coincide en la " +"representación de la cadena de la excepción planteada. *regex* puede ser un " +"objeto de expresión regular o una cadena que contiene una expresión regular " +"adecuada para ser usada por :func:`re.search`. Ejemplos::" #: ../Doc/library/unittest.rst:1007 ../Doc/library/unittest.rst:1075 msgid "or::" -msgstr "" +msgstr "o::" #: ../Doc/library/unittest.rst:1012 msgid "Added under the name ``assertRaisesRegexp``." -msgstr "" +msgstr "Añadido bajo el nombre de ``assertRaisesRegexp``." #: ../Doc/library/unittest.rst:1015 msgid "Renamed to :meth:`assertRaisesRegex`." -msgstr "" +msgstr "Renombrado a :meth:`assertRaisesRegex`." #: ../Doc/library/unittest.rst:1025 msgid "" @@ -1218,6 +1605,12 @@ msgid "" "isn't. Any exception is an error. To catch any of a group of warnings, a " "tuple containing the warning classes may be passed as *warnings*." msgstr "" +"Testea que una advertencia se activa cuando se llama a *callable* con " +"cualquier argumento posicional o de palabra clave que también se pasa a :" +"meth:`assertWarns`. El test pasa si se activa el *warning* y falla si no lo " +"hace. Cualquier excepción es un error. Para considerar cualquiera de un " +"grupo de advertencias, una tupla que contenga las clases de advertencia " +"puede ser pasada como *warnings*." #: ../Doc/library/unittest.rst:1032 msgid "" @@ -1225,12 +1618,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si sólo se dan los argumentos de *advertencia* y *msg*, retorna un gestor " +"de contexto para que el código testado pueda ser escrito en línea en lugar " +"de como una función::" #: ../Doc/library/unittest.rst:1039 msgid "" "When used as a context manager, :meth:`assertWarns` accepts the additional " "keyword argument *msg*." msgstr "" +"Cuando se usa como gestor de contexto, :meth:`assertWarns` acepta el " +"argumento de palabra clave adicional *msg*." #: ../Doc/library/unittest.rst:1042 msgid "" @@ -1239,12 +1637,19 @@ msgid "" "the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " "the intention is to perform additional checks on the warning caught::" msgstr "" +"El gestor de contexto almacenará el objeto de advertencia capturado en su " +"atributo :attr:`warning`, y la línea del código que disparó las advertencias " +"en los atributos :attr:`filename` y :attr:`lineno` . Esto puede ser útil " +"si la intención es realizar comprobaciones adicionales sobre la advertencia " +"capturada::" #: ../Doc/library/unittest.rst:1054 msgid "" "This method works regardless of the warning filters in place when it is " "called." msgstr "" +"Este método funciona independientemente de los filtros de aviso que estén en " +"su lugar cuando se llame." #: ../Doc/library/unittest.rst:1066 msgid "" @@ -1253,12 +1658,18 @@ msgid "" "string containing a regular expression suitable for use by :func:`re." "search`. Example::" msgstr "" +"Como :meth:`assertWarns` pero también testea que *regex* coincide en el " +"mensaje del aviso disparado. *regex* puede ser un objeto de expresión " +"regular o una cadena que contiene una expresión regular adecuada para ser " +"usada por :func:`re.search`. Ejemplo::" #: ../Doc/library/unittest.rst:1087 msgid "" "A context manager to test that at least one message is logged on the " "*logger* or one of its children, with at least the given *level*." msgstr "" +"Un gestor de contexto para comprobar que al menos un mensaje está registrado " +"en el *logger* o en uno de sus hijos, con al menos el *level* dado." #: ../Doc/library/unittest.rst:1091 msgid "" @@ -1267,6 +1678,9 @@ msgid "" "will catch all messages that were not blocked by a non-propagating " "descendent logger." msgstr "" +"Si se da, *logger* debería ser un objeto :class:`logging.Logger` o un :class:" +"`str` dando el nombre de un logger. El valor por defecto es el root logger, " +"que captará todos los mensajes." #: ../Doc/library/unittest.rst:1096 msgid "" @@ -1274,112 +1688,128 @@ msgid "" "equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " "default is :attr:`logging.INFO`." msgstr "" +"Si se da, *level* debe ser un nivel de logging numérico o su equivalente en " +"cadena (por ejemplo, o bien ``”ERROR”`` o :attr:`logging.ERROR`). El valor " +"por defecto es :attr:`logging.INFO`." #: ../Doc/library/unittest.rst:1100 msgid "" "The test passes if at least one message emitted inside the ``with`` block " "matches the *logger* and *level* conditions, otherwise it fails." msgstr "" +"El test pasa si al menos un mensaje emitido dentro del bloque ``with`` " +"coincide con las condiciones de *logger* y *level*, de lo contrario falla." #: ../Doc/library/unittest.rst:1103 msgid "" "The object returned by the context manager is a recording helper which keeps " "tracks of the matching log messages. It has two attributes:" msgstr "" +"El objeto devuelto por el gestor de contexto es un ayudante de grabación que " +"lleva un registro de los mensajes de registro que coinciden. Tiene dos " +"atributos:" #: ../Doc/library/unittest.rst:1109 msgid "" "A list of :class:`logging.LogRecord` objects of the matching log messages." msgstr "" +"Una lista de objetos :class:`logging.LogRecord` de los mensajes de log " +"coincidentes." #: ../Doc/library/unittest.rst:1114 msgid "" "A list of :class:`str` objects with the formatted output of matching " "messages." msgstr "" +"Una lista de objetos :class:`str` con la salida forrajeada en los mensajes " +"coincidentes." #: ../Doc/library/unittest.rst:1117 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/library/unittest.rst:1128 msgid "" "There are also other methods used to perform more specific checks, such as:" msgstr "" +"Hay también otros métodos empleados para realizar comprobaciones más " +"específicas, tales como:" #: ../Doc/library/unittest.rst:1133 msgid ":meth:`assertAlmostEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertAlmostEqual(a, b) `" #: ../Doc/library/unittest.rst:1133 msgid "``round(a-b, 7) == 0``" -msgstr "" +msgstr "``round(a-b, 7) == 0``" #: ../Doc/library/unittest.rst:1136 msgid ":meth:`assertNotAlmostEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertNotAlmostEqual(a, b) `" #: ../Doc/library/unittest.rst:1136 msgid "``round(a-b, 7) != 0``" -msgstr "" +msgstr "``round(a-b, 7) != 0``" #: ../Doc/library/unittest.rst:1139 msgid ":meth:`assertGreater(a, b) `" -msgstr "" +msgstr ":meth:`assertGreater(a, b) `" #: ../Doc/library/unittest.rst:1139 msgid "``a > b``" -msgstr "" +msgstr "``a > b``" #: ../Doc/library/unittest.rst:1142 msgid ":meth:`assertGreaterEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertGreaterEqual(a, b) `" #: ../Doc/library/unittest.rst:1142 msgid "``a >= b``" -msgstr "" +msgstr "``a >= b``" #: ../Doc/library/unittest.rst:1145 msgid ":meth:`assertLess(a, b) `" -msgstr "" +msgstr ":meth:`assertLess(a, b) `" #: ../Doc/library/unittest.rst:1145 msgid "``a < b``" -msgstr "" +msgstr "``a < b``" #: ../Doc/library/unittest.rst:1148 msgid ":meth:`assertLessEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertLessEqual(a, b) `" #: ../Doc/library/unittest.rst:1148 msgid "``a <= b``" -msgstr "" +msgstr "``a <= b``" #: ../Doc/library/unittest.rst:1151 msgid ":meth:`assertRegex(s, r) `" -msgstr "" +msgstr ":meth:`assertRegex(s, r) `" #: ../Doc/library/unittest.rst:1151 msgid "``r.search(s)``" -msgstr "" +msgstr "``r.search(s)``" #: ../Doc/library/unittest.rst:1154 msgid ":meth:`assertNotRegex(s, r) `" -msgstr "" +msgstr ":meth:`assertNotRegex(s, r) `" #: ../Doc/library/unittest.rst:1154 msgid "``not r.search(s)``" -msgstr "" +msgstr "``not r.search(s)``" #: ../Doc/library/unittest.rst:1157 msgid ":meth:`assertCountEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertCountEqual(a, b) `" #: ../Doc/library/unittest.rst:1157 msgid "" "*a* and *b* have the same elements in the same number, regardless of their " "order." msgstr "" +"*a* y *b* tienen los mismos elementos y en el mismo número, sin importar su " +"orden." #: ../Doc/library/unittest.rst:1166 msgid "" @@ -1389,16 +1819,23 @@ msgid "" "the values to the given number of *decimal places* (i.e. like the :func:" "`round` function) and not *significant digits*." msgstr "" +"Testea que *first* y *second* son aproximadamente (o no aproximadamente) " +"iguales calculando su diferencia, redondeando al número dado de puntos " +"*places* decimales (por defecto 7), y comparado a cero. Nótese que estos " +"métodos redondean los valores al número dado de *puntos decimales* (por " +"ejemplo como la función :func:`round`) y no *cifras significativas*." #: ../Doc/library/unittest.rst:1172 msgid "" "If *delta* is supplied instead of *places* then the difference between " "*first* and *second* must be less or equal to (or greater than) *delta*." msgstr "" +"Si se suministra *delta* en vez de *places* que entonces la diferencia entre " +"*first* y *second* deba ser menor o igual a (o mayor que) *delta*." #: ../Doc/library/unittest.rst:1175 msgid "Supplying both *delta* and *places* raises a :exc:`TypeError`." -msgstr "" +msgstr "Suministrar tanto *delta* como *places* lanza un :exc:`TypeError`." #: ../Doc/library/unittest.rst:1177 msgid "" @@ -1406,12 +1843,18 @@ msgid "" "compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " "objects compare equal. Added the *delta* keyword argument." msgstr "" +":meth:`assertAlmostEqual` considera automáticamente casi iguales a los " +"objetos que se comparan igual. :meth:`assertNotAlmostEqual` falla " +"automáticamente si los objetos comparan iguales. Añadido el argumento de " +"palabra clave *delta*." #: ../Doc/library/unittest.rst:1188 msgid "" "Test that *first* is respectively >, >=, < or <= than *second* depending on " "the method name. If not, the test will fail::" msgstr "" +"Prueba que *first* es respectivamente >, >=, < o <= que *second* dependiendo " +"del nombre del método. Si no, el test fallará::" #: ../Doc/library/unittest.rst:1200 msgid "" @@ -1421,26 +1864,35 @@ msgid "" "regular expression object or a string containing a regular expression " "suitable for use by :func:`re.search`." msgstr "" +"Testea que una búsqueda *regex* coincide (o no coincide) con el *text*. En " +"caso de fallo, el mensaje de error incluirá el patrón y el *text* (o el " +"patrón y la parte de *text* que coincida inesperadamente). *regex* puede " +"ser un objeto de expresión regular o una cadena que contiene una expresión " +"regular adecuada para ser utilizada por :func:`re.search`." #: ../Doc/library/unittest.rst:1206 msgid "Added under the name ``assertRegexpMatches``." -msgstr "" +msgstr "Añadido bajo el nombre de ``assertRegexpMatches``." #: ../Doc/library/unittest.rst:1208 msgid "" "The method ``assertRegexpMatches()`` has been renamed to :meth:`." "assertRegex`." msgstr "" +"El método ``assertRegexpMatches()`` ha sido renombrado a :meth:`." +"assertRegex`." #: ../Doc/library/unittest.rst:1211 msgid ":meth:`.assertNotRegex`." -msgstr "" +msgstr ":meth:`.assertNotRegex`." #: ../Doc/library/unittest.rst:1213 msgid "" "The name ``assertNotRegexpMatches`` is a deprecated alias for :meth:`." "assertNotRegex`." msgstr "" +"El nombre ``assertNotRegexpMatches`` es un alias obsoleto para :meth:`." +"assertNotRegex`." #: ../Doc/library/unittest.rst:1220 msgid "" @@ -1448,6 +1900,9 @@ msgid "" "regardless of their order. When they don't, an error message listing the " "differences between the sequences will be generated." msgstr "" +"Testea que la secuencia *first* contiene los mismos elementos que *second*, " +"independientemente de su orden. Cuando no lo hagan, se generará un mensaje " +"de error con las diferencias entre las secuencias." #: ../Doc/library/unittest.rst:1224 msgid "" @@ -1456,6 +1911,11 @@ msgid "" "Equivalent to: ``assertEqual(Counter(list(first)), Counter(list(second)))`` " "but works with sequences of unhashable objects as well." msgstr "" +"Los elementos duplicados *no* son ignorados cuando se comparan *first* y " +"*second*. Verifica si cada elemento tiene la misma cuenta en ambas " +"secuencias. Equivalente a: ``assertEqual(Counter(list(first)), " +"Counter(list(second)))`` pero funciona también con secuencias de objetos que " +"no son hashable." #: ../Doc/library/unittest.rst:1235 msgid "" @@ -1464,6 +1924,11 @@ msgid "" "implemented for most of the built-in types, but it's also possible to " "register new methods using :meth:`addTypeEqualityFunc`:" msgstr "" +"El método :meth:`assertEqual` envía la comprobación de igualdad de los " +"objetos del mismo tipo a diferentes métodos específicos de tipo. Estos " +"métodos ya están implementados para la mayoría de los tipos incorporados, " +"pero también es posible registrar nuevos métodos usando :meth:" +"`addTypeEqualityFunc`:" #: ../Doc/library/unittest.rst:1242 msgid "" @@ -1475,6 +1940,14 @@ msgid "" "two parameters is detected -- possibly providing useful information and " "explaining the inequalities in details in the error message." msgstr "" +"Registra un método específico de tipo llamado por :meth:`assertEqual` para " +"comprobar si dos objetos del mismo *typeobj* (no subclases) comparan como " +"iguales. *function* debe tomar dos argumentos posicionales y un tercer " +"argumento de palabra clave msg=None tal y como lo hace :meth:`assertEqual`. " +"Debe lanzar :data:`self.failureException(msg) ` cuando " +"se detecta una desigualdad entre los dos primeros parámetros, posiblemente " +"proporcionando información útil y explicando las desigualdades en detalle en " +"el mensaje de error." #: ../Doc/library/unittest.rst:1253 msgid "" @@ -1482,58 +1955,61 @@ msgid "" "assertEqual` are summarized in the following table. Note that it's usually " "not necessary to invoke these methods directly." msgstr "" +"La lista de métodos específicos de tipo utilizados automáticamente por :meth:" +"`~TestCase.assertEqual` se resumen en la siguiente tabla. Tenga en cuenta " +"que normalmente no es necesario invocar estos métodos directamente." #: ../Doc/library/unittest.rst:1258 msgid "Used to compare" -msgstr "" +msgstr "Usado para comparar" #: ../Doc/library/unittest.rst:1260 msgid ":meth:`assertMultiLineEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertMultiLineEqual(a, b) `" #: ../Doc/library/unittest.rst:1260 msgid "strings" -msgstr "" +msgstr "strings" #: ../Doc/library/unittest.rst:1263 msgid ":meth:`assertSequenceEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertSequenceEqual(a, b) `" #: ../Doc/library/unittest.rst:1263 msgid "sequences" -msgstr "" +msgstr "sequences" #: ../Doc/library/unittest.rst:1266 msgid ":meth:`assertListEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertListEqual(a, b) `" #: ../Doc/library/unittest.rst:1266 msgid "lists" -msgstr "" +msgstr "lists" #: ../Doc/library/unittest.rst:1269 msgid ":meth:`assertTupleEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertTupleEqual(a, b) `" #: ../Doc/library/unittest.rst:1269 msgid "tuples" -msgstr "" +msgstr "tuples" #: ../Doc/library/unittest.rst:1272 msgid ":meth:`assertSetEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertSetEqual(a, b) `" #: ../Doc/library/unittest.rst:1272 msgid "sets or frozensets" -msgstr "" +msgstr "sets or frozensets" #: ../Doc/library/unittest.rst:1275 msgid ":meth:`assertDictEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertDictEqual(a, b) `" #: ../Doc/library/unittest.rst:1275 msgid "dicts" -msgstr "" +msgstr "dicts" #: ../Doc/library/unittest.rst:1283 msgid "" @@ -1542,6 +2018,10 @@ msgid "" "included in the error message. This method is used by default when comparing " "strings with :meth:`assertEqual`." msgstr "" +"Testea que la cadena multilínea *first* es igual a la cadena *second*. " +"Cuando no sea igual, una diferencia de las dos cadenas que resalte las " +"diferencias se incluirá en el mensaje de error. Este método se utiliza por " +"defecto cuando se comparan cadenas con :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1293 msgid "" @@ -1550,12 +2030,18 @@ msgid "" "raised. If the sequences are different an error message is constructed that " "shows the difference between the two." msgstr "" +"Testea que dos secuencias son iguales. Si se suministra un *seq_type*, " +"tanto *first* como *second* deben ser instancias de *seq_type* o se lanzará " +"un fallo. Si las secuencias son diferentes se construye un mensaje de error " +"que muestra la diferencia entre las dos." #: ../Doc/library/unittest.rst:1298 msgid "" "This method is not called directly by :meth:`assertEqual`, but it's used to " "implement :meth:`assertListEqual` and :meth:`assertTupleEqual`." msgstr "" +"Este método no es llamado directamente por :meth:`assertEqual`, pero se usa " +"para implementar :meth:`assertListEqual` y :meth:`assertTupleEqual`." #: ../Doc/library/unittest.rst:1308 msgid "" @@ -1564,6 +2050,11 @@ msgid "" "also raised if either of the parameters are of the wrong type. These methods " "are used by default when comparing lists or tuples with :meth:`assertEqual`." msgstr "" +"Testea que dos listas o tuplas son iguales. Si no es así, se construye un " +"mensaje de error que muestra sólo las diferencias entre las dos. También se " +"lanza un error si alguno de los parámetros es del tipo equivocado. Estos " +"métodos se utilizan por defecto cuando se comparan listas o tuplas con :meth:" +"`assertEqual`." #: ../Doc/library/unittest.rst:1319 msgid "" @@ -1571,12 +2062,18 @@ msgid "" "lists the differences between the sets. This method is used by default when " "comparing sets or frozensets with :meth:`assertEqual`." msgstr "" +"Testea que dos conjuntos son iguales. Si no es así, se construye un mensaje " +"de error que enumera las diferencias entre los conjuntos. Este método se " +"utiliza por defecto cuando se comparan los conjuntos o frozensets con :meth:" +"`assertEqual`." #: ../Doc/library/unittest.rst:1323 msgid "" "Fails if either of *first* or *second* does not have a :meth:`set." "difference` method." msgstr "" +"Falla si cualquiera de *first* o *second* no tiene un método de :meth:`set." +"difference`." #: ../Doc/library/unittest.rst:1331 msgid "" @@ -1584,17 +2081,24 @@ msgid "" "constructed that shows the differences in the dictionaries. This method will " "be used by default to compare dictionaries in calls to :meth:`assertEqual`." msgstr "" +"Testea que dos diccionarios son iguales. Si no es así, se construye un " +"mensaje de error que muestra las diferencias en los diccionarios. Este " +"método se usará por defecto para comparar los diccionarios en las llamadas " +"a :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1342 msgid "" "Finally the :class:`TestCase` provides the following methods and attributes:" msgstr "" +"Finalmente, :class:`TestCase` proporciona los siguientes métodos y atributos:" #: ../Doc/library/unittest.rst:1347 msgid "" "Signals a test failure unconditionally, with *msg* or ``None`` for the error " "message." msgstr "" +"Señala un fallo del test incondicionalmente, con *msg* o ``None`` para el " +"mensaje de error." #: ../Doc/library/unittest.rst:1353 msgid "" @@ -1604,6 +2108,11 @@ msgid "" "fair\" with the framework. The initial value of this attribute is :exc:" "`AssertionError`." msgstr "" +"Este atributo de clase da la excepción lanzada por el método de test. Si un " +"marco de pruebas necesita utilizar una excepción especializada, posiblemente " +"para llevar información adicional, debe subclasificar esta excepción para " +"\"jugar limpio\" con el marco. El valor inicial de este atributo es :exc:" +"`AssertionError`." #: ../Doc/library/unittest.rst:1362 msgid "" @@ -1613,6 +2122,11 @@ msgid "" "of the standard failure message. When set to ``False``, the custom message " "replaces the standard message." msgstr "" +"Este atributo de clase determina lo que ocurre cuando se pasa un mensaje de " +"fallo personalizado como el argumento msg a una llamada assertXYY que falla. " +"``True`` es el valor por defecto. En este caso, el mensaje personalizado se " +"añade al final del mensaje de fallo estándar. Cuando se establece en " +"``False``, el mensaje personalizado reemplaza al mensaje estándar." #: ../Doc/library/unittest.rst:1368 msgid "" @@ -1620,10 +2134,14 @@ msgid "" "an instance attribute, self.longMessage, to ``True`` or ``False`` before " "calling the assert methods." msgstr "" +"La configuración de la clase puede ser anulada en los métodos de test " +"individuales asignando un atributo de instancia, self.longMessage, a " +"``True`` o ``False`` antes de llamar a los métodos assert." #: ../Doc/library/unittest.rst:1372 msgid "The class setting gets reset before each test call." msgstr "" +"La configuración de la clase se reajusta antes de cada llamada de test." #: ../Doc/library/unittest.rst:1379 msgid "" @@ -1633,24 +2151,36 @@ msgid "" "the sequence comparison methods that delegate to it), :meth:" "`assertDictEqual` and :meth:`assertMultiLineEqual`." msgstr "" +"Este atributo controla la longitud máxima de las diferencias de salida de " +"métodos assert que reportan diferencias en caso de fallo. El valor " +"predeterminado es de 80*8 caracteres. Los métodos assert afectados por este " +"atributo son :meth:`assertSequenceEqual` (incluyendo todos los métodos de " +"comparación de secuencias que le delegan), :meth:`assertDictEqual` y :meth:" +"`assertMultiLineEqual`." #: ../Doc/library/unittest.rst:1386 msgid "" "Setting ``maxDiff`` to ``None`` means that there is no maximum length of " "diffs." msgstr "" +"Poner ``maxDiff`` en ``None`` significa que no hay una longitud máxima de " +"diferencias." #: ../Doc/library/unittest.rst:1392 msgid "" "Testing frameworks can use the following methods to collect information on " "the test:" msgstr "" +"Los marcos de test pueden utilizar los siguientes métodos para reunir " +"información sobre el test:" #: ../Doc/library/unittest.rst:1398 msgid "" "Return the number of tests represented by this test object. For :class:" "`TestCase` instances, this will always be ``1``." msgstr "" +"Retorna el número de tests representados por este objeto de test. Para las " +"instancias de :class:`TestCase`, este siempre será ``1``." #: ../Doc/library/unittest.rst:1404 msgid "" @@ -1658,6 +2188,9 @@ msgid "" "test case class (if no other result instance is provided to the :meth:`run` " "method)." msgstr "" +"Retorna una instancia de la clase de resultado de test que debería " +"utilizarse para esta clase de caso de test (si no se proporciona otra " +"instancia de resultado al método :meth:`run`)." #: ../Doc/library/unittest.rst:1408 msgid "" @@ -1665,12 +2198,18 @@ msgid "" "`TestResult`; subclasses of :class:`TestCase` should override this as " "necessary." msgstr "" +"Para las instancias de :class:`TestCase`, ésta siempre será una instancia " +"de :class:`TestResult`; las subclases de :class:`TestCase` deben anular esto " +"según sea necesario." #: ../Doc/library/unittest.rst:1415 msgid "" "Return a string identifying the specific test case. This is usually the " "full name of the test method, including the module and class name." msgstr "" +"Devuelva una cadena que identifique el caso de test específico. Normalmente " +"es el nombre completo del método de test, incluyendo el nombre del módulo y " +"de la clase." #: ../Doc/library/unittest.rst:1421 msgid "" @@ -1678,6 +2217,10 @@ msgid "" "provided. The default implementation of this method returns the first line " "of the test method's docstring, if available, or ``None``." msgstr "" +"Devuelve una descripción de la prueba, o ``None`` si no se ha proporcionado " +"ninguna descripción. La implementación por defecto de este método devuelve " +"la primera línea de la docstring del método de test, si está disponible, o " +"``None`` ." #: ../Doc/library/unittest.rst:1426 msgid "" @@ -1686,6 +2229,10 @@ msgid "" "unittest extensions and adding the test name was moved to the :class:" "`TextTestResult` in Python 3.2." msgstr "" +"En 3.1 esto se cambió para añadir el nombre del test a la descripción corta " +"incluso en presencia de una docstring. Esto causó problemas de " +"compatibilidad con las extensiones de unittest y la adición del nombre de " +"test fue movida a la :class:`TextTestResult` en Python 3.2." #: ../Doc/library/unittest.rst:1435 msgid "" @@ -1695,18 +2242,27 @@ msgid "" "arguments and keyword arguments passed into :meth:`addCleanup` when they are " "added." msgstr "" +"Añade una función que se llamará después de :meth:`tearDown` a los recursos " +"de limpieza utilizados durante el test. Las funciones se llamarán en orden " +"inverso al orden en que se agregan (:abbr:`LIFO (last-in, first-out)`). Se " +"llaman con cualquier argumento y argumentos de palabra clave que se pase a :" +"meth:`addCleanup` cuando se agregan." #: ../Doc/library/unittest.rst:1441 msgid "" "If :meth:`setUp` fails, meaning that :meth:`tearDown` is not called, then " "any cleanup functions added will still be called." msgstr "" +"Si :meth:`setUp` falla, lo que significa que :meth:`tearDown` no se llama, " +"entonces cualquier función de limpieza añadida seguirá siendo llamada." #: ../Doc/library/unittest.rst:1449 msgid "" "This method is called unconditionally after :meth:`tearDown`, or after :meth:" "`setUp` if :meth:`setUp` raises an exception." msgstr "" +"Este método se llama incondicionalmente después de :meth:`tearDown`, o " +"después de :meth:`setUp` si :meth:`setUp` lanza una excepción." #: ../Doc/library/unittest.rst:1452 msgid "" @@ -1714,12 +2270,18 @@ msgid "" "`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" "`tearDown` then you can call :meth:`doCleanups` yourself." msgstr "" +"Es responsable de llamar a todas las funciones de limpieza añadidas por :" +"meth:`addCleanup`. Si necesitas que las funciones de limpieza se llamen *con " +"anterioridad* a :meth:`tearDown` entonces puedes llamar a :meth:`doCleanups` " +"tú mismo." #: ../Doc/library/unittest.rst:1457 msgid "" ":meth:`doCleanups` pops methods off the stack of cleanup functions one at a " "time, so it can be called at any time." msgstr "" +":meth:`doCleanups` saca los métodos de la pila de funciones de limpieza uno " +"a uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:1464 msgid "" @@ -1729,18 +2291,28 @@ msgid "" "with any arguments and keyword arguments passed into :meth:`addClassCleanup` " "when they are added." msgstr "" +"Añade una función que se llamará después de :meth:`tearDownClass` para " +"limpiar recursos utilizados durante la clase de test. Las funciones se " +"llamarán en orden inverso al orden en que se agregan (:abbr:`LIFO (last-in, " +"first-out)`). Se llaman con cualquier argumento y argumento de palabra clave " +"que se pase a :meth:`addClassCleanup` cuando se añadan." #: ../Doc/library/unittest.rst:1470 msgid "" "If :meth:`setUpClass` fails, meaning that :meth:`tearDownClass` is not " "called, then any cleanup functions added will still be called." msgstr "" +"Si :meth:`setUpClass` falla, lo que significa que :meth:`tearDownClass` no " +"se invoca, entonces cualquier función de limpieza añadida seguirá siendo " +"llamada." #: ../Doc/library/unittest.rst:1478 msgid "" "This method is called unconditionally after :meth:`tearDownClass`, or after :" "meth:`setUpClass` if :meth:`setUpClass` raises an exception." msgstr "" +"Este método se llama incondicionalmente después de :meth:`tearDownClass`, o " +"después de :meth:`setUpClass` si :meth:`setUpClass` lanza una excepción." #: ../Doc/library/unittest.rst:1481 msgid "" @@ -1748,18 +2320,26 @@ msgid "" "`addClassCleanup`. If you need cleanup functions to be called *prior* to :" "meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." msgstr "" +"Es responsable de llamar a todas las funciones de limpieza añadidas por :" +"meth:`addCleanupClass`. Si necesitas que las funciones de limpieza se llamen " +"*con anterioridad* a :meth:`tearDownClass` entonces puedes llamar a :meth:" +"`doCleanupsClass` tú mismo." #: ../Doc/library/unittest.rst:1486 msgid "" ":meth:`doClassCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" +":meth:`doCleanupsClass` saca los métodos de la pila de funciones de limpieza " +"de uno en uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:1494 msgid "" "This class provides an API similar to :class:`TestCase` and also accepts " "coroutines as test functions." msgstr "" +"Esta clase proporciona una API similar a :class:`TestCase` y también acepta " +"corutinas como funciones de test." #: ../Doc/library/unittest.rst:1501 msgid "" @@ -1769,6 +2349,11 @@ msgid "" "method will be considered an error rather than a test failure. The default " "implementation does nothing." msgstr "" +"Método llamado para preparar la configuración de test. Esto se llama después " +"de :meth:`setUp`. Se llama inmediatamente antes de llamar al método de test; " +"aparte de :exc:`AssertionError` o :exc:`SkipTest`, cualquier excepción " +"lanzada por este método se considerará un error más que un fallo del test. " +"La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:1509 msgid "" @@ -1782,10 +2367,22 @@ msgid "" "method will only be called if the :meth:`asyncSetUp` succeeds, regardless of " "the outcome of the test method. The default implementation does nothing." msgstr "" +"Método llamado inmediatamente después de que se haya llamado el método de " +"test y se haya registrado el resultado. Esto se llama antes de :meth:" +"`tearDown`. Se llama así aunque el método de test haya lanzado una " +"excepción, por lo que la implementación en las subclases puede necesitar ser " +"particularmente cuidadosa en la comprobación del estado interno. Cualquier " +"excepción, que no sea :exc:`AssertionError` o :exc:`SkipTest`, lanzada por " +"este método se considerará un error adicional en lugar de un fallo del test " +"(aumentando así el número total de errores reportados). Este método sólo se " +"llamará si :meth:`asyncSetUp` tiene éxito, independientemente del resultado " +"del método de test. La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:1521 msgid "This method accepts a coroutine that can be used as a cleanup function." msgstr "" +"Este método acepta una corutina que puede ser utilizada como función de " +"limpieza." #: ../Doc/library/unittest.rst:1525 msgid "" @@ -1796,16 +2393,24 @@ msgid "" "`run`'s caller. At the end of the test all the tasks in the event loop are " "cancelled." msgstr "" +"Establece un nuevo bucle de eventos para ejecutar el test, recogiendo el " +"resultado en el objeto :class:`TestResult` pasado como *result*. Si se " +"omite *result* o ``None``, se crea un objeto resultado temporal (llamando al " +"método :meth:`defaultTestResult`) y se utiliza. El objeto resultante se " +"devuelve al invocado de :meth:`run`. Al final del test se cancelan todas las " +"tareas del bucle de eventos." #: ../Doc/library/unittest.rst:1533 msgid "An example illustrating the order::" -msgstr "" +msgstr "Un ejemplo ilustrando el orden::" #: ../Doc/library/unittest.rst:1569 msgid "" "After running the test, ``events`` would contain ``[\"setUp\", \"asyncSetUp" "\", \"test_response\", \"asyncTearDown\", \"tearDown\", \"cleanup\"]``." msgstr "" +"Después de ejecutar el test, ``events`` contendría ``[“setUp”, " +"“asyncSetUp”, “test_response”, “asyncTearDown”, “tearDown”, “cleanup”]``." #: ../Doc/library/unittest.rst:1574 msgid "" @@ -1815,10 +2420,16 @@ msgid "" "test cases using legacy test code, allowing it to be integrated into a :mod:" "`unittest`-based test framework." msgstr "" +"Esta clase implementa la porción de la interfaz :class:`TestCase` que " +"permite al corredor de tests conducir los tests, pero no proporciona los " +"métodos que el código de test puede utilizar para comprobar e informar de " +"los errores. Se utiliza para crear casos de test utilizando código de " +"prueba heredado, lo que permite que se integre en un marco de tests basado " +"en :mod:`unittest`." #: ../Doc/library/unittest.rst:1584 msgid "Deprecated aliases" -msgstr "" +msgstr "Alias obsoletos" #: ../Doc/library/unittest.rst:1586 msgid "" @@ -1826,138 +2437,149 @@ msgid "" "more aliases that are now deprecated. The following table lists the correct " "names along with their deprecated aliases:" msgstr "" +"Por razones históricas, algunos de los métodos de :class:`TestCase` tenían " +"uno o más alias que ahora están obsoletos. La siguiente tabla lista los " +"nombres correctos junto con sus alias obsoletos:" #: ../Doc/library/unittest.rst:1591 msgid "Method Name" -msgstr "" +msgstr "Nombre del método" #: ../Doc/library/unittest.rst:1591 msgid "Deprecated alias" -msgstr "" +msgstr "Alias deprecado" #: ../Doc/library/unittest.rst:1593 msgid ":meth:`.assertEqual`" -msgstr "" +msgstr ":meth:`.assertEqual`" #: ../Doc/library/unittest.rst:1593 msgid "failUnlessEqual" -msgstr "" +msgstr "failUnlessEqual" #: ../Doc/library/unittest.rst:1593 msgid "assertEquals" -msgstr "" +msgstr "assertEquals" #: ../Doc/library/unittest.rst:1594 msgid ":meth:`.assertNotEqual`" -msgstr "" +msgstr ":meth:`.assertNotEqual`" #: ../Doc/library/unittest.rst:1594 msgid "failIfEqual" -msgstr "" +msgstr "failIfEqual" #: ../Doc/library/unittest.rst:1594 msgid "assertNotEquals" -msgstr "" +msgstr "assertNotEquals" #: ../Doc/library/unittest.rst:1595 msgid ":meth:`.assertTrue`" -msgstr "" +msgstr ":meth:`.assertTrue`" #: ../Doc/library/unittest.rst:1595 msgid "failUnless" -msgstr "" +msgstr "failUnless" #: ../Doc/library/unittest.rst:1595 msgid "assert\\_" -msgstr "" +msgstr "assert\\_" #: ../Doc/library/unittest.rst:1596 msgid ":meth:`.assertFalse`" -msgstr "" +msgstr ":meth:`.assertFalse`" #: ../Doc/library/unittest.rst:1596 msgid "failIf" -msgstr "" +msgstr "failIf" #: ../Doc/library/unittest.rst:1597 msgid ":meth:`.assertRaises`" -msgstr "" +msgstr ":meth:`.assertRaises`" #: ../Doc/library/unittest.rst:1597 msgid "failUnlessRaises" -msgstr "" +msgstr "failUnlessRaises" #: ../Doc/library/unittest.rst:1598 msgid ":meth:`.assertAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertAlmostEqual`" #: ../Doc/library/unittest.rst:1598 msgid "failUnlessAlmostEqual" -msgstr "" +msgstr "failUnlessAlmostEqual" #: ../Doc/library/unittest.rst:1598 msgid "assertAlmostEquals" -msgstr "" +msgstr "assertAlmostEquals" #: ../Doc/library/unittest.rst:1599 msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" +msgstr ":meth:`.assertNotAlmostEqual`" #: ../Doc/library/unittest.rst:1599 msgid "failIfAlmostEqual" -msgstr "" +msgstr "failIfAlmostEqual" #: ../Doc/library/unittest.rst:1599 msgid "assertNotAlmostEquals" -msgstr "" +msgstr "assertNotAlmostEquals" #: ../Doc/library/unittest.rst:1600 msgid ":meth:`.assertRegex`" -msgstr "" +msgstr ":meth:`.assertRegex`" #: ../Doc/library/unittest.rst:1600 msgid "assertRegexpMatches" -msgstr "" +msgstr "assertRegexpMatches" #: ../Doc/library/unittest.rst:1601 msgid ":meth:`.assertNotRegex`" -msgstr "" +msgstr ":meth:`.assertNotRegex`" #: ../Doc/library/unittest.rst:1601 msgid "assertNotRegexpMatches" -msgstr "" +msgstr "assertNotRegexpMatches" #: ../Doc/library/unittest.rst:1602 msgid ":meth:`.assertRaisesRegex`" -msgstr "" +msgstr ":meth:`.assertRaisesRegex`" #: ../Doc/library/unittest.rst:1602 msgid "assertRaisesRegexp" -msgstr "" +msgstr "assertRaisesRegexp" #: ../Doc/library/unittest.rst:1605 msgid "The fail* aliases listed in the second column have been deprecated." msgstr "" +"Los alias de fail* que figuran en la segunda columna han sido declarados " +"obsoletos." #: ../Doc/library/unittest.rst:1607 msgid "The assert* aliases listed in the third column have been deprecated." msgstr "" +"Los alias de aserción* que figuran en la tercera columna han sido declarados " +"obsoletos." #: ../Doc/library/unittest.rst:1609 msgid "" "``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed to :" "meth:`.assertRegex` and :meth:`.assertRaisesRegex`." msgstr "" +"``assertRegexpMatches`` y ``assertRaisesRegexp`` han sido renombrados a :" +"meth:`.assertRegex` y :meth:`.assertRaisesRegex`." #: ../Doc/library/unittest.rst:1612 msgid "" "The ``assertNotRegexpMatches`` name is deprecated in favor of :meth:`." "assertNotRegex`." msgstr "" +"El nombre ``assertNotRegexpMatches`` se ha declarado obsoleto en favor de :" +"meth:`.assertNotRegex`." #: ../Doc/library/unittest.rst:1618 msgid "Grouping tests" -msgstr "" +msgstr "Agrupando tests" #: ../Doc/library/unittest.rst:1622 msgid "" @@ -1966,6 +2588,11 @@ msgid "" "it to be run as any other test case. Running a :class:`TestSuite` instance " "is the same as iterating over the suite, running each test individually." msgstr "" +"Esta clase representa una agregación de casos de test individuales y " +"conjuntos de tests. La clase presenta la interfaz que necesita el corredor " +"de tests para poder ser ejecutado como cualquier otro caso de test. " +"Ejecutar una instancia :class:`TestSuite` es lo mismo que iterar sobre el " +"conjunto, ejecutando cada test individualmente." #: ../Doc/library/unittest.rst:1627 msgid "" @@ -1973,6 +2600,10 @@ msgid "" "other test suites that will be used to build the suite initially. Additional " "methods are provided to add test cases and suites to the collection later on." msgstr "" +"Si se indican *tests*, debe ser un iterable de casos de test individuales u " +"otros conjuntos de tests que se usarán para construir el conjunto " +"inicialmente. Se proporcionan métodos adicionales para añadir casos de test " +"y conjuntos a la colección más adelante." #: ../Doc/library/unittest.rst:1631 msgid "" @@ -1982,26 +2613,36 @@ msgid "" "additional methods are available to add tests to :class:`TestSuite` " "instances:" msgstr "" +"Los objetos de :class:`TestSuite` se comportan de manera muy parecida a los " +"objetos de :class:`TestCase`, excepto que no implementan un test. En " +"cambio, se usan para agregar tests en grupos de tests que deben ser " +"ejecutados juntos. Existen algunos métodos adicionales para agregar tests a " +"las instancias de :class:`TestSuite`:" #: ../Doc/library/unittest.rst:1639 msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." -msgstr "" +msgstr "Añade un :class:`TestCase` o :class:`TestSuite` al conjunto." #: ../Doc/library/unittest.rst:1644 msgid "" "Add all the tests from an iterable of :class:`TestCase` and :class:" "`TestSuite` instances to this test suite." msgstr "" +"Añade todos los tests de un iterable de :class:`TestCase` y :class:" +"`TestSuite` a este conjunto de tests." #: ../Doc/library/unittest.rst:1647 msgid "" "This is equivalent to iterating over *tests*, calling :meth:`addTest` for " "each element." msgstr "" +"Esto equivale a iterar sobre *tests*, llamando a :meth:`addTest` para cada " +"elemento." #: ../Doc/library/unittest.rst:1650 msgid ":class:`TestSuite` shares the following methods with :class:`TestCase`:" msgstr "" +":class:`TestSuite` comparte los siguientes métodos con :class:`TestCase`:" #: ../Doc/library/unittest.rst:1655 msgid "" @@ -2009,6 +2650,10 @@ msgid "" "test result object passed as *result*. Note that unlike :meth:`TestCase." "run`, :meth:`TestSuite.run` requires the result object to be passed in." msgstr "" +"Ejecuta los tests asociados a este conjunto, recogiendo el resultado en el " +"objeto de resultado del test pasado como *result*. Tenga en cuenta que a " +"diferencia de :meth:`TestCase.run`, :meth:`TestSuite.run` requiere que se " +"pase el objeto resultado." #: ../Doc/library/unittest.rst:1663 msgid "" @@ -2016,12 +2661,18 @@ msgid "" "allows exceptions raised by the test to be propagated to the caller and can " "be used to support running tests under a debugger." msgstr "" +"Ejecuta los tests asociados con este conjunto sin recoger los resultados. " +"Esto permite que las excepciones lanzadas por este test sean propagadas al " +"invocador y puedes ser usadas para apoyar tests que están ejecutándose con " +"un debugger." #: ../Doc/library/unittest.rst:1670 msgid "" "Return the number of tests represented by this test object, including all " "individual tests and sub-suites." msgstr "" +"Retorna el numero de tests representados por este objeto de test, incluidos " +"todos los test individuales y los sub-conjuntos." #: ../Doc/library/unittest.rst:1676 msgid "" @@ -2034,6 +2685,16 @@ msgid "" "tests returned by this method unless the caller uses a subclass that " "overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." msgstr "" +"Los tests agrupados por una :class:`TestSuite` se acceden siempre por " +"iteración. Las subclases pueden proporcionar tests anulando :meth:" +"`__iter__`. Tenga en cuenta que este método puede ser invocado varias veces " +"en un mismo conjunto (por ejemplo, cuando se cuentan los tests o se comparan " +"por igualdad), por lo que los tests retornados por iteraciones repetidas " +"antes de :meth:`TestSuite.run` deben ser los mismos para cada iteración de " +"invocación. Después de :meth:`TestSuite.run`, los invocados no deben confiar " +"en los tests retornados por este método a menos que el invocado utilice una " +"subclase que anule :meth:`TestSuite._removeTestAtIndex` para preservar las " +"referencias de los tests." #: ../Doc/library/unittest.rst:1686 msgid "" @@ -2041,6 +2702,9 @@ msgid "" "than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " "providing tests." msgstr "" +"En versiones anteriores la :class:`TestSuite` accedía a los test " +"directamente en lugar de a través de la iteración, por lo que anular :meth:" +"`__iter__` no era suficiente para proporcionar los tests." #: ../Doc/library/unittest.rst:1691 msgid "" @@ -2048,16 +2712,22 @@ msgid "" "`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " "by overriding :meth:`TestSuite._removeTestAtIndex`." msgstr "" +"En versiones anteriores, la :class:`TestSuite` tenía referencias a cada :" +"class:`TestCase` después de :meth:`TestSuite.run`. Las subclases pueden " +"restaurar ese comportamiento anulando :meth:`TestSuite._removeTestAtIndex`." #: ../Doc/library/unittest.rst:1696 msgid "" "In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " "is invoked by a :class:`TestRunner` rather than by the end-user test harness." msgstr "" +"En el uso típico de un objeto :class:`TestSuite`, el método :meth:`run` es " +"invocado por un :class:`TestRunner` en lugar de por el marco de test de " +"pruebas automático del usuario final." #: ../Doc/library/unittest.rst:1701 msgid "Loading and running tests" -msgstr "" +msgstr "Cargando y ejecutando tests" #: ../Doc/library/unittest.rst:1705 msgid "" @@ -2067,10 +2737,16 @@ msgid "" "`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " "customization of some configurable properties." msgstr "" +"La clase :class:`TestLoader` se utiliza para crear conjuntos de tests a " +"partir de clases y módulos. Normalmente, no es necesario crear una " +"instancia de esta clase; el módulo :mod:`unittest` proporciona una instancia " +"que puede ser compartida como :data:`unittest.defaultTestLoader`. Sin " +"embargo, el uso de una subclase o instancia permite la personalización de " +"algunas propiedades configurables." #: ../Doc/library/unittest.rst:1711 msgid ":class:`TestLoader` objects have the following attributes:" -msgstr "" +msgstr "Los objetos :class:`TestLoader` tienen los siguientes atributos:" #: ../Doc/library/unittest.rst:1716 msgid "" @@ -2079,16 +2755,23 @@ msgid "" "raising an exception to the caller. Non-fatal errors are also indicated by a " "synthetic test that will raise the original error when run." msgstr "" +"Una lista de los errores no fatales encontrados durante los tests de carga. " +"No reseteados por el cargador en ningún momento. Los errores fatales son " +"señalados por el método relevante que lanza una excepción al invocador. Los " +"errores no fatales también son indicados por una prueba sintética que " +"lanzará el error original cuando se ejecute." #: ../Doc/library/unittest.rst:1725 msgid ":class:`TestLoader` objects have the following methods:" -msgstr "" +msgstr "Los objetos :class:`TestLoader` tienen los siguientes métodos:" #: ../Doc/library/unittest.rst:1730 msgid "" "Return a suite of all test cases contained in the :class:`TestCase`\\ -" "derived :class:`testCaseClass`." msgstr "" +"Devuelve un conjunto de todos los casos de test contenidos en la :class:" +"`TestCase`\\ derivada de :class:`testCaseClass`." #: ../Doc/library/unittest.rst:1733 msgid "" @@ -2098,6 +2781,11 @@ msgid "" "`runTest` method is implemented, a single test case is created for that " "method instead." msgstr "" +"Se crea una instancia de caso de test para cada método nombrado por :meth:" +"`getTestCaseNames`. Por defecto, estos son los nombres de los métodos que " +"comienzan con ``test``. Si :meth:`getTestCaseNames` no retorna ningún " +"método, pero se implementa el método :meth:`runTest`, se crea un único caso " +"de test para ese método." #: ../Doc/library/unittest.rst:1742 msgid "" @@ -2105,6 +2793,10 @@ msgid "" "searches *module* for classes derived from :class:`TestCase` and creates an " "instance of the class for each test method defined for the class." msgstr "" +"Devuelva un conjunto de todos los casos de test contenidos en el módulo " +"dado. Este método busca en *module* clases derivadas de :class:`TestCase` y " +"crea una instancia de la clase para cada método de test definido para la " +"clase." #: ../Doc/library/unittest.rst:1749 msgid "" @@ -2114,6 +2806,12 @@ msgid "" "play well with this method. Doing so, however, can be useful when the " "fixtures are different and defined in subclasses." msgstr "" +"Aunque el uso de una jerarquía de clases derivadas de :class:`TestCase` " +"puede ser conveniente para compartir configuraciones y funciones de ayuda, " +"la definición de métodos de test en clases base que no están destinadas a " +"ser instanciadas directamente no complementa bien con este método. Hacerlo, " +"sin embargo, puede ser útil cuando las configuraciones son diferentes y " +"están definidas en subclases." #: ../Doc/library/unittest.rst:1755 msgid "" @@ -2122,10 +2820,14 @@ msgid "" "`load_tests protocol`_. The *pattern* argument is passed as the third " "argument to ``load_tests``." msgstr "" +"Si un módulo proporciona una función ``load_tests`` será llamado para cargar " +"los tests. Esto permite a los módulos personalizar la carga de los tests. " +"Este es el `load_tests protocol`_. El argumento *pattern* se pasa como " +"tercer argumento a ``load_tests``." #: ../Doc/library/unittest.rst:1760 msgid "Support for ``load_tests`` added." -msgstr "" +msgstr "Se ha añadido soporte para ``load_tests``." #: ../Doc/library/unittest.rst:1763 msgid "" @@ -2134,10 +2836,16 @@ msgid "" "compatibility. The method also now accepts a keyword-only argument " "*pattern* which is passed to ``load_tests`` as the third argument." msgstr "" +"El argumento por defecto *use_load_tests* no documentado y no oficial es " +"obsoleto e ignorado, aunque sigue siendo aceptado por la " +"retrocompatibilidad. El método también acepta ahora un argumento de sólo " +"palabra clave *pattern* que se pasa a ``load_tests`` como tercer argumento." #: ../Doc/library/unittest.rst:1772 msgid "Return a suite of all test cases given a string specifier." msgstr "" +"Retorna un conjunto de todos los casos de test dado un especificador de " +"cadena." #: ../Doc/library/unittest.rst:1774 msgid "" @@ -2149,6 +2857,14 @@ msgid "" "up as \"a test method within a test case class\", rather than \"a callable " "object\"." msgstr "" +"El especificador *name* es un \"nombre punteado\" que puede resolverse ya " +"sea a un módulo, una clase de caso de test, un método de test dentro de una " +"clase de caso de test, una instancia :class:`TestSuite`, o un objeto " +"invocable que devuelve una instancia :class:`TestCase` o :class:" +"`TestSuite`. Estas comprobaciones se aplican en el orden que se indica " +"aquí; es decir, un método en una posible clase de caso de test se recogerá " +"como \"un método de test dentro de una clase de caso de test”, en lugar de " +"\"un objeto invocable”." #: ../Doc/library/unittest.rst:1782 msgid "" @@ -2162,10 +2878,19 @@ msgid "" "modules and packages which have not been imported; they will be imported as " "a side-effect." msgstr "" +"Por ejemplo, si tiene un módulo :mod:`SampleTests` que contiene una clase " +"derivada de :class:`TestCase` :class:`SampleTestCase` con tres métodos de " +"test (:meth:`test_one`, :meth:`test_two`, y :meth:`test_three`), el " +"especificador ``SampleTests.SampleTestCase'`` haría que este método " +"devolviera una suite que ejecutara los tres métodos de prueba. El uso del " +"especificador ``SampleTests.SampleTestCase.test_two'`` provocaría que este " +"método devolviera una suite de tests que ejecutaría sólo el método de test :" +"meth:`test_two`. El especificador puede referirse a los módulos y paquetes " +"que no han sido importados; serán importados como un efecto secundario." #: ../Doc/library/unittest.rst:1792 msgid "The method optionally resolves *name* relative to the given *module*." -msgstr "" +msgstr "El método opcionalmente resuelve *name* relativo al *module* dado." #: ../Doc/library/unittest.rst:1794 msgid "" @@ -2173,6 +2898,10 @@ msgid "" "*name* then a synthetic test that raises that error when run will be " "returned. These errors are included in the errors accumulated by self.errors." msgstr "" +"Si un :exc:`ImportError` o :exc:`AttributeError` ocurre mientras atraviesa " +"*name* entonces se devolverá un test sintético que lanza ese error cuando se " +"ejecuta. Estos errores están incluidos en los errores acumulados por self." +"errors." #: ../Doc/library/unittest.rst:1803 msgid "" @@ -2180,12 +2909,17 @@ msgid "" "than a single name. The return value is a test suite which supports all the " "tests defined for each name." msgstr "" +"Similar a :meth:`loadTestsFromName`, pero toma una secuencia de nombres en " +"lugar de un solo nombre. El valor de retorno es una suite de tests que " +"soporta todos los test definidos para cada nombre." #: ../Doc/library/unittest.rst:1810 msgid "" "Return a sorted sequence of method names found within *testCaseClass*; this " "should be a subclass of :class:`TestCase`." msgstr "" +"Devuelve una secuencia ordenada de nombres de métodos encontrados dentro de " +"*testCaseClass*; esta debería ser una subclase de :class:`TestCase`." #: ../Doc/library/unittest.rst:1816 msgid "" @@ -2195,6 +2929,12 @@ msgid "" "pattern matching.) Only module names that are importable (i.e. are valid " "Python identifiers) will be loaded." msgstr "" +"Encuentra todos los módulos de prueba recurriendo a subdirectorios del " +"directorio de inicio especificado, y retorna un objeto de TestSuite que los " +"contenga. Sólo se cargarán los archivos de test que coincidan con el " +"*pattern*. (Utilizando la coincidencia de patrones de estilo de shell.) Sólo " +"se cargarán los nombres de los módulos que sean importables (es decir, que " +"sean identificadores Python válidos)." #: ../Doc/library/unittest.rst:1822 msgid "" @@ -2202,6 +2942,9 @@ msgid "" "the start directory is not the top level directory then the top level " "directory must be specified separately." msgstr "" +"Todos los módulos de test deben ser importables desde el nivel superior del " +"proyecto. Si el directorio de inicio no es el directorio de nivel superior, " +"entonces el directorio de nivel superior debe ser especificado por separado." #: ../Doc/library/unittest.rst:1826 msgid "" @@ -2210,6 +2953,10 @@ msgid "" "import failure is due to :exc:`SkipTest` being raised, it will be recorded " "as a skip instead of an error." msgstr "" +"Si la importación de un módulo falla, por ejemplo debido a un error de " +"sintaxis, entonces esto se registrará como un error único y el " +"descubrimiento continuará. Si el fallo en la importación se debe a que :exc:" +"`SkipTest` se ha lanzado, se registrará como un salto en lugar de un error." #: ../Doc/library/unittest.rst:1831 msgid "" @@ -2220,12 +2967,21 @@ msgid "" "checked for tests once during an invocation, even if the load_tests function " "itself calls ``loader.discover``." msgstr "" +"Si se encuentra un paquete (un directorio que contiene un archivo llamado :" +"file:`__init__.py`), se comprobará si el paquete tiene una función " +"``load_tests``. Si existe, entonces se invocará ``package.load_tests(loader, " +"tests, pattern)``. Test discovery se encarga de asegurar que un paquete sólo " +"se comprueba una vez durante una invocación, incluso si la propia función " +"load_tests llama a ``loader.discover``." #: ../Doc/library/unittest.rst:1839 msgid "" "If ``load_tests`` exists then discovery does *not* recurse into the package, " "``load_tests`` is responsible for loading all tests in the package." msgstr "" +"Si ``load_tests`` existe, entonces el descubrimiento *no* recurre en el " +"paquete, ``load_tests`` es responsable de cargar todos los tests en el " +"paquete." #: ../Doc/library/unittest.rst:1843 msgid "" @@ -2234,26 +2990,38 @@ msgid "" "``load_tests`` does not need to pass this argument in to ``loader." "discover()``." msgstr "" +"El patrón no se almacena deliberadamente como atributo cargador para que los " +"paquetes puedan continuar descubriéndose a sí mismos. *top_level_dir* se " +"almacena de forma que ``load_tests`` no necesita pasar este argumento a " +"``loader.discover()``." #: ../Doc/library/unittest.rst:1848 msgid "*start_dir* can be a dotted module name as well as a directory." msgstr "" +"*start_dir* puede ser un nombre de módulo punteado así como un directorio." #: ../Doc/library/unittest.rst:1852 msgid "" "Modules that raise :exc:`SkipTest` on import are recorded as skips, not " "errors." msgstr "" +"Los módulos que lanzan :exc:`SkipTest` en la importación se registran como " +"saltos, no como errores." #: ../Doc/library/unittest.rst:1856 msgid "*start_dir* can be a :term:`namespace packages `." msgstr "" +"*start_dir* puede ser un :term:`paquete de espacios de nombres `." #: ../Doc/library/unittest.rst:1859 msgid "" "Paths are sorted before being imported so that execution order is the same " "even if the underlying file system's ordering is not dependent on file name." msgstr "" +"Las rutas se ordenan antes de ser importadas para que el orden de ejecución " +"sea el mismo, incluso si el orden del sistema de archivos subyacente no " +"depende del nombre del archivo." #: ../Doc/library/unittest.rst:1864 msgid "" @@ -2261,30 +3029,42 @@ msgid "" "their path matches *pattern*, because it is impossible for a package name to " "match the default pattern." msgstr "" +"Los paquetes encontrados son ahora comprobados para ``load_tests`` sin " +"importar si su ruta coincide con el *pattern*, porque es imposible que el " +"nombre de un paquete coincida con el patrón por defecto." #: ../Doc/library/unittest.rst:1870 msgid "" "The following attributes of a :class:`TestLoader` can be configured either " "by subclassing or assignment on an instance:" msgstr "" +"Los siguientes atributos de un :class:`TestLoader` pueden ser configurados " +"ya sea por subclasificación o asignación en una instancia:" #: ../Doc/library/unittest.rst:1876 msgid "" "String giving the prefix of method names which will be interpreted as test " "methods. The default value is ``'test'``." msgstr "" +"Cadena que da el prefijo de los nombres de métodos que serán interpretados " +"como métodos de test. El valor por defecto es ``'test'``." #: ../Doc/library/unittest.rst:1879 msgid "" "This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " "methods." msgstr "" +"Esto afecta a :meth:`getTestCaseNames` y a todos los métodos :meth:" +"`loadTestsFrom\\*` ." #: ../Doc/library/unittest.rst:1885 msgid "" "Function to be used to compare method names when sorting them in :meth:" "`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` methods." msgstr "" +"Función que se utiliza para comparar los nombres de los métodos al " +"clasificarlos en :meth:`getTestCaseNames` y todos los métodos :meth:" +"`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1891 msgid "" @@ -2292,16 +3072,22 @@ msgid "" "methods on the resulting object are needed. The default value is the :class:" "`TestSuite` class." msgstr "" +"Objeto invocable que construye un conjunto de pruebas a partir de una lista " +"de pruebas. No se necesitan métodos en el objeto resultante. El valor por " +"defecto es la clase :class:`TestSuite`." #: ../Doc/library/unittest.rst:1895 ../Doc/library/unittest.rst:1908 msgid "This affects all the :meth:`loadTestsFrom\\*` methods." -msgstr "" +msgstr "Esto afecta a todos los métodos :meth:`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1899 msgid "" "List of Unix shell-style wildcard test name patterns that test methods have " "to match to be included in test suites (see ``-v`` option)." msgstr "" +"Lista de patrones de nombres de test de comodines al estilo del shell de " +"Unix que los métodos de test tienen que coincidir con para ser incluidos en " +"las suites de test (ver opción ``-v``)." #: ../Doc/library/unittest.rst:1902 msgid "" @@ -2311,12 +3097,20 @@ msgid "" "unlike patterns passed to the ``-v`` option, simple substring patterns will " "have to be converted using ``*`` wildcards." msgstr "" +"Si este atributo no es ``None`` (el predeterminado), todos los métodos de " +"test que se incluyan en los paquetes de test deben coincidir con uno de los " +"patrones de esta lista. Tenga en cuenta que las coincidencias se realizan " +"siempre utilizando :meth:`fnmatch.fnmatchcase`, por lo que a diferencia de " +"los patrones pasados a la opción ``-v``, los patrones de subcadena simple " +"tendrán que ser convertidos utilizando los comodines ``*``." #: ../Doc/library/unittest.rst:1915 msgid "" "This class is used to compile information about which tests have succeeded " "and which have failed." msgstr "" +"Esta clase se utiliza para recopilar información sobre qué tests han tenido " +"éxito y cuáles han fracasado." #: ../Doc/library/unittest.rst:1918 msgid "" @@ -2325,6 +3119,10 @@ msgid "" "properly recorded; test authors do not need to worry about recording the " "outcome of tests." msgstr "" +"Un objeto :class:`TestResult` almacena los resultados de una serie de " +"pruebas. Las clases :class:`TestCase` y :class:`TestSuite` aseguran que los " +"resultados se registren correctamente; los autores de los tests no tienen " +"que preocuparse de registrar el resultado de las mismas." #: ../Doc/library/unittest.rst:1923 msgid "" @@ -2333,12 +3131,19 @@ msgid "" "purposes; a :class:`TestResult` instance is returned by the :meth:" "`TestRunner.run` method for this purpose." msgstr "" +"Los marcos de pruebas construidos sobre :mod:`unittest` pueden querer " +"acceder al objeto :class:`TestResult` generado por la ejecución de un " +"conjunto de tests con fines de reporte; una instancia :class:`TestResult` es " +"devuelta por el método :meth:`TestRunner.run` para este propósito." #: ../Doc/library/unittest.rst:1928 msgid "" ":class:`TestResult` instances have the following attributes that will be of " "interest when inspecting the results of running a set of tests:" msgstr "" +"Las instancias de :class:`TestResult` tienen los siguientes atributos que " +"serán de interés cuando se inspeccionen los resultados de la ejecución de un " +"conjunto de tests:" #: ../Doc/library/unittest.rst:1934 msgid "" @@ -2346,6 +3151,9 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test which raised an " "unexpected exception." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de tracebacks. Cada tupla representa una prueba que lanzó una " +"excepción inesperada." #: ../Doc/library/unittest.rst:1940 msgid "" @@ -2353,12 +3161,17 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test where a failure " "was explicitly signalled using the :meth:`TestCase.assert\\*` methods." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de traceback. Cada tupla representa un test en el que un fallo " +"fue explícitamente señalado usando los métodos :meth:`TestCase.assert\\*`." #: ../Doc/library/unittest.rst:1946 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding the reason for skipping the test." msgstr "" +"Una lista que contiene 2 tuplas de instancias de :class:`TestCase` y cadenas " +"que contienen la razón para saltarse el test." #: ../Doc/library/unittest.rst:1953 msgid "" @@ -2366,21 +3179,28 @@ msgid "" "holding formatted tracebacks. Each tuple represents an expected failure or " "error of the test case." msgstr "" +"Una lista que contiene 2 tuplas de instancias :class:`TestCase` y cadenas " +"con formato de traceback. Cada tupla representa un fallo esperado del caso " +"de test." #: ../Doc/library/unittest.rst:1959 msgid "" "A list containing :class:`TestCase` instances that were marked as expected " "failures, but succeeded." msgstr "" +"Una lista que contiene instancias de :class:`TestCase` que fueron marcadas " +"como fracasos esperados, pero tuvieron éxito." #: ../Doc/library/unittest.rst:1964 msgid "" "Set to ``True`` when the execution of tests should stop by :meth:`stop`." msgstr "" +"Puesto en ``True`` cuando la ejecución de los tests se detenga por :meth:" +"`stop`." #: ../Doc/library/unittest.rst:1968 msgid "The total number of tests run so far." -msgstr "" +msgstr "El número total de tests realizados hasta ahora." #: ../Doc/library/unittest.rst:1972 msgid "" @@ -2390,28 +3210,41 @@ msgid "" "if the test fails or errors. Any output is also attached to the failure / " "error message." msgstr "" +"Si se ajusta a true, ``sys.stdout`` y ``sys.stderr`` serán almacenados " +"entre :meth:`startTest` y :meth:`stopTest` siendo llamados. La salida " +"recolectada sólo tendrá eco en el verdadero ``sys.stdout`` y ``sys.stderr`` " +"si la prueba falla o se equivoca. Cualquier salida también se adjunta al " +"mensaje de fallo / error." #: ../Doc/library/unittest.rst:1981 msgid "" "If set to true :meth:`stop` will be called on the first failure or error, " "halting the test run." msgstr "" +"Si se ajusta a true :meth:`stop` se llamará al primer fallo o error, " +"deteniendo la ejecución de la prueba." #: ../Doc/library/unittest.rst:1988 msgid "If set to true then local variables will be shown in tracebacks." msgstr "" +"Si se ajusta a true entonces las variables locales se mostrarán en los " +"tracebacks." #: ../Doc/library/unittest.rst:1994 msgid "" "Return ``True`` if all tests run so far have passed, otherwise returns " "``False``." msgstr "" +"Devuelve ``True`` si todas las pruebas realizadas hasta ahora han pasado, de " +"lo contrario devuelve ``False``." #: ../Doc/library/unittest.rst:1997 msgid "" "Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " "marked with the :func:`expectedFailure` decorator." msgstr "" +"Devuelve ``False`` si hubo algún :attr:`unexpectedSuccesses` de las pruebas " +"marcadas con el decorador :func:`expectedFailure`." #: ../Doc/library/unittest.rst:2003 msgid "" @@ -2420,6 +3253,10 @@ msgid "" "`TestRunner` objects should respect this flag and return without running any " "additional tests." msgstr "" +"Este método puede ser llamado para señalar que el conjunto de pruebas que se " +"están ejecutando debe ser abortado poniendo el atributo :attr:`shouldStop` " +"en ``True``. :class:`TestRunner` los objetos deben respetar esta bandera y " +"regresar sin ejecutar ninguna prueba adicional." #: ../Doc/library/unittest.rst:2008 msgid "" @@ -2428,6 +3265,11 @@ msgid "" "keyboard. Interactive tools which provide :class:`TestRunner` " "implementations can use this in a similar manner." msgstr "" +"Por ejemplo, esta característica es utilizada por la clase :class:" +"`TextTestRunner` para detener el marco de pruebas cuando el usuario señala " +"una interrupción desde el teclado. Las herramientas interactivas que " +"proporcionan implementaciones de :class:`TestRunner` pueden usar esto de " +"manera similar." #: ../Doc/library/unittest.rst:2013 msgid "" @@ -2436,24 +3278,31 @@ msgid "" "additional reporting requirements. This is particularly useful in building " "tools which support interactive reporting while tests are being run." msgstr "" +"Los siguientes métodos de la clase :class:`TestResult` se utilizan para " +"mantener las estructuras de datos internos, y pueden ampliarse en subclases " +"para apoyar los requisitos de información adicionales. Esto es " +"particularmente útil para construir herramientas que apoyen la presentación " +"de informes interactivos mientras se ejecutan las pruebas." #: ../Doc/library/unittest.rst:2021 msgid "Called when the test case *test* is about to be run." -msgstr "" +msgstr "Llamado cuando el caso de prueba *test* está a punto de ser ejecutado." #: ../Doc/library/unittest.rst:2025 msgid "" "Called after the test case *test* has been executed, regardless of the " "outcome." msgstr "" +"Llamado después de que el caso de prueba *prueba* haya sido ejecutado, " +"independientemente del resultado." #: ../Doc/library/unittest.rst:2030 msgid "Called once before any tests are executed." -msgstr "" +msgstr "Llamado una vez antes de que se ejecute cualquier prueba." #: ../Doc/library/unittest.rst:2037 msgid "Called once after all tests are executed." -msgstr "" +msgstr "Llamado una vez después de que se ejecuten todas las pruebas." #: ../Doc/library/unittest.rst:2044 msgid "" @@ -2461,6 +3310,9 @@ msgid "" "tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " "traceback)``." msgstr "" +"Llamado cuando el caso de prueba *test* plantea una excepción inesperada. " +"*err* es una tupla de la forma devuelta por :func:`sys.exc_info`: ``(type, " +"value, traceback)``." #: ../Doc/library/unittest.rst:2048 msgid "" @@ -2468,12 +3320,17 @@ msgid "" "instance's :attr:`errors` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`errors` de la instancia, donde *formatted_err* es una traza " +"formateada derivada de *err*." #: ../Doc/library/unittest.rst:2055 msgid "" "Called when the test case *test* signals a failure. *err* is a tuple of the " "form returned by :func:`sys.exc_info`: ``(type, value, traceback)``." msgstr "" +"Llamado cuando el caso de prueba *test* señala un fallo. *err* es una tupla " +"de la forma devuelta por :func:`sys.exc_info`: ``(type, value, traceback)``." #: ../Doc/library/unittest.rst:2058 msgid "" @@ -2481,32 +3338,41 @@ msgid "" "instance's :attr:`failures` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`failures` de la instancia, donde *formatted_err* es una " +"traza formateada derivada de *err*." #: ../Doc/library/unittest.rst:2065 msgid "Called when the test case *test* succeeds." -msgstr "" +msgstr "Llamado cuando el caso de prueba *test* tenga éxito." #: ../Doc/library/unittest.rst:2067 msgid "The default implementation does nothing." -msgstr "" +msgstr "La implementación por defecto no hace nada." #: ../Doc/library/unittest.rst:2072 msgid "" "Called when the test case *test* is skipped. *reason* is the reason the " "test gave for skipping." msgstr "" +"Llamado cuando se salta el caso de prueba *test*. *reason* es la razón que " +"la prueba dio para saltarse." #: ../Doc/library/unittest.rst:2075 msgid "" "The default implementation appends a tuple ``(test, reason)`` to the " "instance's :attr:`skipped` attribute." msgstr "" +"La implementación por defecto añade una tupla ``(test, reason)`` al " +"atributo :attr:`skipped` de la instancia." #: ../Doc/library/unittest.rst:2081 msgid "" "Called when the test case *test* fails or errors, but was marked with the :" "func:`expectedFailure` decorator." msgstr "" +"Llamó cuando el caso de prueba *test* falla, pero fue marcado con el " +"decorador :func:`expectedFailure`." #: ../Doc/library/unittest.rst:2084 msgid "" @@ -2514,18 +3380,25 @@ msgid "" "instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " "formatted traceback derived from *err*." msgstr "" +"La implementación por defecto añade una tupla ``(test, formatted_err)`` al " +"atributo :attr:`expectedFailures` de la instancia, donde *formatted_err* es " +"una traza formateada derivada de *err*." #: ../Doc/library/unittest.rst:2091 msgid "" "Called when the test case *test* was marked with the :func:`expectedFailure` " "decorator, but succeeded." msgstr "" +"Llamó cuando el caso de prueba *test* se marcó con el decorador :func:" +"`expectedFailure`, pero tuvo éxito." #: ../Doc/library/unittest.rst:2094 msgid "" "The default implementation appends the test to the instance's :attr:" "`unexpectedSuccesses` attribute." msgstr "" +"La implementación por defecto añade la prueba al atributo :attr:" +"`unexpectedSuccesses` de la instancia." #: ../Doc/library/unittest.rst:2100 msgid "" @@ -2533,6 +3406,9 @@ msgid "" "the test method. *subtest* is a custom :class:`TestCase` instance " "describing the subtest." msgstr "" +"Llamado cuando termina una subtest. *test* es el caso de prueba " +"correspondiente al método de test. *subtest* es una instancia " +"personalizada :class:`TestCase` que describe el test." #: ../Doc/library/unittest.rst:2104 msgid "" @@ -2540,24 +3416,33 @@ msgid "" "with an exception where *outcome* is a tuple of the form returned by :func:" "`sys.exc_info`: ``(type, value, traceback)``." msgstr "" +"Si *outcome* es :const:`None`, el subtest tuvo éxito. De lo contrario, " +"falló con una excepción en la que *outcome* es una tupla de la forma " +"devuelta por :func:`sys.exc_info`: ``(type, value, traceback)``." #: ../Doc/library/unittest.rst:2108 msgid "" "The default implementation does nothing when the outcome is a success, and " "records subtest failures as normal failures." msgstr "" +"La implementación por defecto no hace nada cuando el resultado es un éxito, " +"y registra los fallos del subtest como fallos normales." #: ../Doc/library/unittest.rst:2116 msgid "" "A concrete implementation of :class:`TestResult` used by the :class:" "`TextTestRunner`." msgstr "" +"Una implementación concreta de :class:`TestResult` utilizado por el :class:" +"`TextTestRunner`." #: ../Doc/library/unittest.rst:2119 msgid "" "This class was previously named ``_TextTestResult``. The old name still " "exists as an alias but is deprecated." msgstr "" +"Esta clase se llamaba anteriormente ``_TextTestResult``. El antiguo nombre " +"todavía existe como un alias pero está obsoleto." #: ../Doc/library/unittest.rst:2126 msgid "" @@ -2565,6 +3450,9 @@ msgid "" "customization of the :class:`TestLoader` is needed, this instance can be " "used instead of repeatedly creating new instances." msgstr "" +"Instancia de la clase :class:`TestLoader` destinada a ser compartida. Si no " +"es necesario personalizar la clase :class:`TestLoader`, esta instancia puede " +"utilizarse en lugar de crear repetidamente nuevas instancias." #: ../Doc/library/unittest.rst:2134 msgid "" @@ -2576,6 +3464,14 @@ msgid "" "as the interface to construct runners changes when features are added to " "unittest." msgstr "" +"Una implementación básica del test runner que produce resultados en una " +"corriente. Si *stream* es ``None``, el valor por defecto, :data:`sys.stderr` " +"se utiliza como flujo de salida. Esta clase tiene unos pocos parámetros " +"configurables, pero es esencialmente muy simple. Las aplicaciones gráficas " +"que ejecutan las suites de prueba deben proporcionar implementaciones " +"alternativas. Tales implementaciones deberían aceptar ``**kwargs`` como " +"interfaz para construir los cambios de los corredores cuando se añaden " +"características a unittest." #: ../Doc/library/unittest.rst:2141 msgid "" @@ -2589,20 +3485,32 @@ msgid "" "option:`!-Wd` or :option:`!-Wa` options (see :ref:`Warning control `) and leaving *warnings* to ``None``." msgstr "" +"Por defecto este runner muestra :exc:`DeprecationWarning`, :exc:" +"`PendingDeprecationWarning`, :exc:`ResourceWarning` y :exc:`ImportWarning` " +"aunque estén :ref:`ignorados por defecto `. Las " +"advertencias de deprecación causadas por :ref:`métodos deprecated unittest " +"` también tienen un caso especial y, cuando los filtros " +"de advertencia están ``'default'`` o ``'always'``, aparecerán sólo una vez " +"por módulo, para evitar demasiados mensajes de advertencia. Este " +"comportamiento puede ser anulado usando las opciones :option:`!-Wd` o :" +"option:`!-Wa` de Python (ver :ref:`Control de advertencias `) y dejando *warnings* a ``None``." #: ../Doc/library/unittest.rst:2152 msgid "Added the ``warnings`` argument." -msgstr "" +msgstr "Añadió el argumento ``warnings``." #: ../Doc/library/unittest.rst:2155 msgid "" "The default stream is set to :data:`sys.stderr` at instantiation time rather " "than import time." msgstr "" +"El flujo por defecto está configurado como :data:`sys.stderr` en tiempo de " +"instanciación en lugar de tiempo de importación." #: ../Doc/library/unittest.rst:2159 msgid "Added the tb_locals parameter." -msgstr "" +msgstr "Añadido el parámetro tb_locals." #: ../Doc/library/unittest.rst:2164 msgid "" @@ -2610,6 +3518,9 @@ msgid "" "is not intended to be called directly, but can be overridden in subclasses " "to provide a custom ``TestResult``." msgstr "" +"Este método devuelve la instancia de ``TestResult`` usada por :meth:`run`. " +"No está destinado a ser llamado directamente, pero puede ser anulado en " +"subclases para proporcionar un ``TestResult`` personalizado." #: ../Doc/library/unittest.rst:2168 msgid "" @@ -2618,6 +3529,11 @@ msgid "" "to :class:`TextTestResult` if no ``resultclass`` is provided. The result " "class is instantiated with the following arguments::" msgstr "" +"``_makeResult()`` instanciando la clase o el pasaje llamado en el " +"constructor ``TextTestRunner`` como el argumento de ``resultclass``. Por " +"defecto es :class:`TextTestResult` si no se proporciona ninguna " +"``resultclass``. La clase de resultado se instanciará con los siguientes " +"argumentos::" #: ../Doc/library/unittest.rst:2177 msgid "" @@ -2626,6 +3542,10 @@ msgid "" "`TestResult` is created by calling :func:`_makeResult` and the test(s) are " "run and the results printed to stdout." msgstr "" +"Este método es la principal interfaz pública del ``TextTestRunner``. Este " +"método toma una instancia :class:`TestSuite` o :class:`TestCase`. Se crea " +"una :class:`TestResult` llamando a :func:`_makeResult` y se ejecuta(n) la(s) " +"prueba(s) y se imprimen los resultados a stdout." #: ../Doc/library/unittest.rst:2188 msgid "" @@ -2634,12 +3554,18 @@ msgid "" "simplest use for this function is to include the following line at the end " "of a test script::" msgstr "" +"Un programa de línea de comandos que carga un conjunto de pruebas de " +"*módulo* y las ejecuta; esto es principalmente para hacer los módulos de " +"prueba convenientemente ejecutables. El uso más simple de esta función es " +"incluir la siguiente línea al final de un guión de prueba::" #: ../Doc/library/unittest.rst:2196 msgid "" "You can run tests with more detailed information by passing in the verbosity " "argument::" msgstr "" +"Puedes hacer pruebas con información más detallada pasando el argumento de " +"la verbosity::" #: ../Doc/library/unittest.rst:2202 msgid "" @@ -2648,6 +3574,11 @@ msgid "" "not specified or ``None`` and no test names are provided via *argv*, all " "tests found in *module* are run." msgstr "" +"El argumento *defaultTest* es el nombre de una prueba única o un iterable de " +"nombres de pruebas a ejecutar si no se especifican nombres de pruebas a " +"través de *argv*. Si no se especifica o ``Ninguno`` y no se proporcionan " +"nombres de pruebas vía *argv*, se ejecutan todas las pruebas encontradas en " +"*modulo*." #: ../Doc/library/unittest.rst:2207 msgid "" @@ -2655,6 +3586,9 @@ msgid "" "first element being the program name. If not specified or ``None``, the " "values of :data:`sys.argv` are used." msgstr "" +"El argumento *argv* puede ser una lista de opciones pasadas al programa, " +"siendo el primer elemento el nombre del programa. Si no se especifica o " +"``Ninguno``, se utilizan los valores de :data:`sys.argv`." #: ../Doc/library/unittest.rst:2211 msgid "" @@ -2662,12 +3596,18 @@ msgid "" "created instance of it. By default ``main`` calls :func:`sys.exit` with an " "exit code indicating success or failure of the tests run." msgstr "" +"El argumento *testRunner* puede ser una clase de corredor de prueba o una " +"instancia ya creada de él. Por defecto ``main`` llama :func:`sys.exit` con " +"un código de salida que indica el éxito o el fracaso de la ejecución de las " +"pruebas." #: ../Doc/library/unittest.rst:2215 msgid "" "The *testLoader* argument has to be a :class:`TestLoader` instance, and " "defaults to :data:`defaultTestLoader`." msgstr "" +"El argumento *testLoader* tiene que ser una instancia :class:`TestLoader`, y " +"por defecto :data:`defaultTestLoader`." #: ../Doc/library/unittest.rst:2218 msgid "" @@ -2675,12 +3615,17 @@ msgid "" "the argument ``exit=False``. This displays the result on standard output " "without calling :func:`sys.exit`::" msgstr "" +"``main`` apoya el uso del intérprete interactivo pasando el argumento " +"``exit=False``. Esto muestra el resultado en la salida estándar sin llamar " +"a :func:`sys.exit`::" #: ../Doc/library/unittest.rst:2225 msgid "" "The *failfast*, *catchbreak* and *buffer* parameters have the same effect as " "the same-name `command-line options`_." msgstr "" +"Los parámetros *failfast*, *catchbreak* y *buffer* tienen el mismo efecto " +"que las `command-line options`_ del mismo nombre." #: ../Doc/library/unittest.rst:2228 msgid "" @@ -2690,32 +3635,44 @@ msgid "" "(see :ref:`Warning control `), otherwise it will be set " "to ``'default'``." msgstr "" +"El argumento *warnings* especifica el :ref:`filtro de aviso ` que debe ser usado mientras se realizan los tests. Si no se " +"especifica, permanecerá como ``None`` si se pasa una opción :option:`!-W` a :" +"program:`python` (ver :ref:`Warning control `), de lo " +"contrario se establecerá como ``’default’``." #: ../Doc/library/unittest.rst:2234 msgid "" "Calling ``main`` actually returns an instance of the ``TestProgram`` class. " "This stores the result of the tests run as the ``result`` attribute." msgstr "" +"Invocar ``main`` en realidad devuelve una instancia de la clase " +"``TestProgram``. Esto almacena el resultado de las pruebas ejecutadas como " +"el atributo ``result``." #: ../Doc/library/unittest.rst:2237 msgid "The *exit* parameter was added." -msgstr "" +msgstr "El parámetro *exit* fue añadido." #: ../Doc/library/unittest.rst:2240 msgid "" "The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " "parameters were added." msgstr "" +"Los parámetros *verbosity*, *failfast*, *catchbreak*, *buffer* y *warnings* " +"fueron añadidos." #: ../Doc/library/unittest.rst:2244 msgid "" "The *defaultTest* parameter was changed to also accept an iterable of test " "names." msgstr "" +"El parámetro *defaultTest* fue cambiado para aceptar también un iterable de " +"nombres de pruebas." #: ../Doc/library/unittest.rst:2250 msgid "load_tests Protocol" -msgstr "" +msgstr "load_tests protocolo" #: ../Doc/library/unittest.rst:2254 msgid "" @@ -2723,22 +3680,30 @@ msgid "" "normal test runs or test discovery by implementing a function called " "``load_tests``." msgstr "" +"Los módulos o paquetes pueden personalizar la forma en que se cargan las " +"pruebas a partir de ellos durante las ejecuciones de prueba normales o el " +"descubrimiento de pruebas mediante la implementación de una función llamada " +"``load_tests``." #: ../Doc/library/unittest.rst:2257 msgid "" "If a test module defines ``load_tests`` it will be called by :meth:" "`TestLoader.loadTestsFromModule` with the following arguments::" msgstr "" +"Si un módulo de tests define ``load_tests`` será llamado por :meth:" +"`TestLoader.loadTestsFromModule` con los siguientes argumentos::" #: ../Doc/library/unittest.rst:2262 msgid "" "where *pattern* is passed straight through from ``loadTestsFromModule``. It " "defaults to ``None``." msgstr "" +"donde *pattern* se pasa directamente desde ``loadTestsFromModule``. Por " +"defecto es ``None``." #: ../Doc/library/unittest.rst:2265 msgid "It should return a :class:`TestSuite`." -msgstr "" +msgstr "Debe retornar una :class:`TestSuite`." #: ../Doc/library/unittest.rst:2267 msgid "" @@ -2748,12 +3713,19 @@ msgid "" "from the standard set of tests. The third argument is used when loading " "packages as part of test discovery." msgstr "" +"*loader* es la instancia de :class:`TestLoader` haciendo la carga. " +"*standard_tests* son los tests que se cargarían por defecto desde el módulo. " +"Es común que los módulos de test sólo quieran añadir o quitar tests del " +"conjunto de tests estándar. El tercer argumento se usa cuando se cargan " +"paquetes como parte del descubrimiento de tests." #: ../Doc/library/unittest.rst:2273 msgid "" "A typical ``load_tests`` function that loads tests from a specific set of :" "class:`TestCase` classes may look like::" msgstr "" +"Una típica función de ``load_tests`` que carga pruebas de un conjunto " +"específico de :class:`TestCase`class:`TestCase` puede ser como::" #: ../Doc/library/unittest.rst:2285 msgid "" @@ -2764,6 +3736,13 @@ msgid "" "just another directory. Otherwise, discovery of the package's tests will be " "left up to ``load_tests`` which is called with the following arguments::" msgstr "" +"Si discovery se inicia en un directorio que contiene un paquete, ya sea " +"desde la línea de comandos o llamando a :meth:`TestLoader.discover`, " +"entonces el paquete :file:`__init__.py` se comprobará por ``load_tests``. " +"Si esa función no existe, discover se reincorporará al paquete como si fuera " +"un directorio más. De lo contrario, el descubrimiento de los tests del " +"paquete se dejará en ``load_tests`` que se llama con los siguientes " +"argumentos::" #: ../Doc/library/unittest.rst:2294 msgid "" @@ -2771,6 +3750,9 @@ msgid "" "package. (``standard_tests`` will only contain tests collected from :file:" "`__init__.py`.)" msgstr "" +"Esto debería devolver un :class:`TestSuite` que represente todas las pruebas " +"del paquete. (``test_estándar`` sólo contendrá las pruebas recogidas de :" +"file:`__init__.py`.)" #: ../Doc/library/unittest.rst:2298 msgid "" @@ -2778,16 +3760,23 @@ msgid "" "continue (and potentially modify) test discovery. A 'do nothing' " "``load_tests`` function for a test package would look like::" msgstr "" +"Debido a que el patrón se pasa a ``load_tests`` el paquete es libre de " +"continuar (y potencialmente modificar) el descubrimiento de pruebas. Una " +"función de 'no hace nada' ``load_test`` para un paquete de pruebas se vería " +"como::" #: ../Doc/library/unittest.rst:2309 msgid "" "Discovery no longer checks package names for matching *pattern* due to the " "impossibility of package names matching the default pattern." msgstr "" +"Discovery ya no comprueba si los nombres de los paquetes coinciden con el " +"*patrón* debido a la imposibilidad de que los nombres de los paquetes " +"coincidan con el patrón por defecto." #: ../Doc/library/unittest.rst:2316 msgid "Class and Module Fixtures" -msgstr "" +msgstr "Instalaciones para clases y módulos" #: ../Doc/library/unittest.rst:2318 msgid "" @@ -2796,6 +3785,10 @@ msgid "" "from the previous class (if there is one) is called, followed by :meth:" "`setUpClass` from the new class." msgstr "" +"Los accesorios de nivel de clase y módulo se implementan en :class:" +"`TestSuite`. Cuando el conjunto de pruebas se encuentra con una prueba de " +"una nueva clase entonces se llama :meth:`tearDownClass` de la clase anterior " +"(si existe), seguido de :meth:`setUpClass` de la nueva clase." #: ../Doc/library/unittest.rst:2323 msgid "" @@ -2803,12 +3796,17 @@ msgid "" "``tearDownModule`` from the previous module is run, followed by " "``setUpModule`` from the new module." msgstr "" +"Del mismo modo, si una prueba es de un módulo diferente de la prueba " +"anterior, entonces se ejecuta ``DesmontarMódulo`` del módulo anterior, " +"seguido de ``DesmontarMódulo`` del nuevo módulo." #: ../Doc/library/unittest.rst:2327 msgid "" "After all the tests have run the final ``tearDownClass`` and " "``tearDownModule`` are run." msgstr "" +"Después de todas las pruebas, se ejecutan los últimos ``tearDownClass`` y " +"``tearDownModule``." #: ../Doc/library/unittest.rst:2330 msgid "" @@ -2816,6 +3814,9 @@ msgid "" "test parallelization and they break test isolation. They should be used with " "care." msgstr "" +"Tenga en cuenta que los accesorios compartidos no juegan bien con las " +"características [potenciales] como la paralelización de la prueba y rompen " +"el aislamiento de la prueba. Deben ser usados con cuidado." #: ../Doc/library/unittest.rst:2333 msgid "" @@ -2826,6 +3827,13 @@ msgid "" "modules and classes are adjacent to each other, then these shared fixture " "functions may be called multiple times in a single test run." msgstr "" +"El orden por defecto de las pruebas creadas por los cargadores de pruebas " +"unitarias es agrupar todas las pruebas de los mismos módulos y clases. Esto " +"llevará a que ``setUpClass`` / ``setUpModule`` (etc) sea llamado exactamente " +"una vez por clase y módulo. Si se aleatoriza el orden, de manera que las " +"pruebas de diferentes módulos y clases sean adyacentes entre sí, entonces " +"estas funciones compartidas de fixture pueden ser llamadas varias veces en " +"una sola ejecución de prueba." #: ../Doc/library/unittest.rst:2340 msgid "" @@ -2833,6 +3841,9 @@ msgid "" "ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " "support shared fixtures." msgstr "" +"Los accesorios compartidos no están pensados para trabajar con suites con " +"pedidos no estándar. Todavía existe una ``BaseTestSuite`` para los marcos de " +"trabajo que no quieren soportar accesorios compartidos." #: ../Doc/library/unittest.rst:2344 msgid "" @@ -2843,14 +3854,20 @@ msgid "" "are just using the standard unittest test runner then this detail doesn't " "matter, but if you are a framework author it may be relevant." msgstr "" +"Si hay alguna excepción planteada durante una de las funciones compartidas " +"del aparato, la prueba se notifica como un error. Debido a que no hay una " +"instancia de prueba correspondiente, se crea un objeto ``_ErrorHolder`` (que " +"tiene la misma interfaz que un :class:`TestCase`) para representar el error. " +"Si sólo estás usando el standard unittest test runner entonces este detalle " +"no importa, pero si eres un autor de marcos de trabajo puede ser relevante." #: ../Doc/library/unittest.rst:2353 msgid "setUpClass and tearDownClass" -msgstr "" +msgstr "setUpClass y tearDownClass" #: ../Doc/library/unittest.rst:2355 msgid "These must be implemented as class methods::" -msgstr "" +msgstr "Estos deben ser implementados como métodos de clase::" #: ../Doc/library/unittest.rst:2368 msgid "" @@ -2858,6 +3875,9 @@ msgid "" "then you must call up to them yourself. The implementations in :class:" "`TestCase` are empty." msgstr "" +"Si quieres que se invoque a ``SetUpClass`` y ``BreakdownClass`` en clases " +"base, debes llamarlos tú mismo. Las implementaciones en :class:`TestCase` " +"están vacías." #: ../Doc/library/unittest.rst:2372 msgid "" @@ -2867,14 +3887,19 @@ msgid "" "`SkipTest` exception then the class will be reported as having been skipped " "instead of as an error." msgstr "" +"Si se lanza una excepción durante una ``setUpClass``, entonces los tests de " +"la clase no se ejecutan y la ``tearDownClass`` no se ejecuta. Las clases que " +"se salten no tendrán ``setUpClass`` o ``tearDownClass``. Si la excepción es " +"una :exc:`SkipTest` entonces la clase será reportada como salteada en lugar " +"de como un error." #: ../Doc/library/unittest.rst:2380 msgid "setUpModule and tearDownModule" -msgstr "" +msgstr "setUpModule y tearDownModule" #: ../Doc/library/unittest.rst:2382 msgid "These should be implemented as functions::" -msgstr "" +msgstr "Estos deben ser implementados como funciones::" #: ../Doc/library/unittest.rst:2390 msgid "" @@ -2883,12 +3908,18 @@ msgid "" "exception is a :exc:`SkipTest` exception then the module will be reported as " "having been skipped instead of as an error." msgstr "" +"Si se lanza una excepción en un ``setUpModule``, entonces no se ejecutará " +"ninguna de las pruebas del módulo y no se ejecutará el ``tearDownModule``. " +"Si la excepción es una :exc:`SkipTest` entonces el módulo será reportado " +"como saltado en lugar de como un error." #: ../Doc/library/unittest.rst:2395 msgid "" "To add cleanup code that must be run even in the case of an exception, use " "``addModuleCleanup``:" msgstr "" +"Para agregar código de limpieza que se debe ejecutar incluso en el caso de " +"una excepción, utilice ``addModuleCleanup``::" #: ../Doc/library/unittest.rst:2401 msgid "" @@ -2898,18 +3929,28 @@ msgid "" "are called with any arguments and keyword arguments passed into :meth:" "`addModuleCleanup` when they are added." msgstr "" +"Añade una función que se llamará después de :func:`tearDownModule` para " +"limpiar los recursos utilizados durante la clase de test. Las funciones se " +"llamarán en orden inverso al orden en que se agregan (:abbr:`LIFO (last-in, " +"first-out)`). Se llaman con cualquier argumento y palabra clave que se pase " +"a :meth:`addModuleCleanup` cuando se añadan." #: ../Doc/library/unittest.rst:2407 msgid "" "If :meth:`setUpModule` fails, meaning that :func:`tearDownModule` is not " "called, then any cleanup functions added will still be called." msgstr "" +"Si :meth:`setUpModule` falla, lo que significa que :func:`tearDownModule` no " +"se invoca, entonces cualquier función de limpieza añadida seguirá siendo " +"invocada." #: ../Doc/library/unittest.rst:2415 msgid "" "This function is called unconditionally after :func:`tearDownModule`, or " "after :func:`setUpModule` if :func:`setUpModule` raises an exception." msgstr "" +"Esta función se llama incondicionalmente después de :func:`tearDownModule`, " +"o después de :func:`setUpModule` si :func:`setUpModule` lanza una excepción." #: ../Doc/library/unittest.rst:2418 msgid "" @@ -2917,16 +3958,22 @@ msgid "" "`addCleanupModule`. If you need cleanup functions to be called *prior* to :" "func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." msgstr "" +"Es responsable de invocar a todas las funciones de limpieza añadidas por :" +"func:`addCleanupModule`. Si necesitas que las funciones de limpieza se " +"llamen *previamente* a :func:`tearDownModule` entonces puedes invocar a :" +"func:`doModuleCleanups` tú mismo." #: ../Doc/library/unittest.rst:2423 msgid "" ":func:`doModuleCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" +":func:`doModuleCleanups` saca los métodos de la pila de funciones de " +"limpieza uno a uno, así que se puede llamar en cualquier momento." #: ../Doc/library/unittest.rst:2429 msgid "Signal Handling" -msgstr "" +msgstr "Manejo de señales" #: ../Doc/library/unittest.rst:2433 msgid "" @@ -2937,6 +3984,13 @@ msgid "" "complete, and the test run will then end and report all the results so far. " "A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." msgstr "" +"La opción :option:`-c/--catch ` línea de comando para unittest, " +"junto con el parámetro ``catchbreak`` de :func:`unittest.main()`, " +"proporcionan un manejo más amigable del control-C durante una prueba. Con el " +"comportamiento catch break habilitado, control-C permitirá que se complete " +"la prueba que se está ejecutando actualmente, y la ejecución de la prueba " +"terminará y reportará todos los resultados hasta ahora. Un segundo control-C " +"lanzará una :exc:`KeyboardInterrupt` de la manera habitual." #: ../Doc/library/unittest.rst:2440 msgid "" @@ -2949,12 +4003,24 @@ msgid "" "to it. For individual tests that need ``unittest`` control-c handling " "disabled the :func:`removeHandler` decorator can be used." msgstr "" +"El manejador de señales de manejo de control-c intenta permanecer compatible " +"con el código o las pruebas que instalan su propio manejador :const:`signal." +"SIGINT` . Si se llama al manejador ``unittest`` pero *no es* el manejador :" +"const:`signal.SIGINT` instalado, es decir, ha sido reemplazado por el " +"sistema bajo test y delegado, entonces llama al manejador por defecto. Este " +"será normalmente el comportamiento esperado por el código que reemplaza un " +"manejador instalado y delega en él. Para las pruebas individuales que " +"necesiten el manejo de control-c de ``unittest`` deshabilitado se puede usar " +"el decorador :func:`removeHandler`." #: ../Doc/library/unittest.rst:2449 msgid "" "There are a few utility functions for framework authors to enable control-c " "handling functionality within test frameworks." msgstr "" +"Hay algunas funciones de utilidad para que los autores de marcos de trabajo " +"habiliten la funcionalidad de control de control-c dentro de los marcos de " +"prueba." #: ../Doc/library/unittest.rst:2454 msgid "" @@ -2962,6 +4028,9 @@ msgid "" "(usually in response to the user pressing control-c) all registered results " "have :meth:`~TestResult.stop` called." msgstr "" +"Instala el controlador de control-c. Cuando se recibe una :const:`signal." +"SIGINT` (normalmente en respuesta a que el usuario presione control-c) " +"todos los resultados registrados tienen :meth:`~TestResult.stop` llamado." #: ../Doc/library/unittest.rst:2461 msgid "" @@ -2969,6 +4038,9 @@ msgid "" "result stores a weak reference to it, so it doesn't prevent the result from " "being garbage collected." msgstr "" +"Registrar un objeto :class:`TestResult` para el manejo de control-c. El " +"registro de un resultado almacena una referencia débil a él, por lo que no " +"evita que el resultado sea recogido por el recolector de basura." #: ../Doc/library/unittest.rst:2465 msgid "" @@ -2976,6 +4048,10 @@ msgid "" "handling is not enabled, so test frameworks can unconditionally register all " "results they create independently of whether or not handling is enabled." msgstr "" +"El registro de un objeto :class:`TestResult` no tiene efectos secundarios si " +"el manejo de control-c no está habilitado, por lo que los marcos de pruebas " +"pueden registrar incondicionalmente todos los resultados que crean " +"independientemente de si el manejo está habilitado o no." #: ../Doc/library/unittest.rst:2472 msgid "" @@ -2983,6 +4059,9 @@ msgid "" "`~TestResult.stop` will no longer be called on that result object in " "response to a control-c." msgstr "" +"Elimine un resultado registrado. Una vez que un resultado ha sido " +"eliminado, :meth:`~TestResult.stop` ya no se llamará en ese objeto de " +"resultado en respuesta a un control-c." #: ../Doc/library/unittest.rst:2479 msgid "" @@ -2990,3 +4069,6 @@ msgid "" "it has been installed. This function can also be used as a test decorator to " "temporarily remove the handler while the test is being executed::" msgstr "" +"Cuando se llama sin argumentos, esta función quita el gestor control-c si se " +"ha instalado. Esta función también se puede utilizar como decorador de tests " +"para quitar temporalmente el controlador mientras se ejecuta el test::" diff --git a/library/weakref.po b/library/weakref.po index dc0150242b..0642e6c4a9 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -236,7 +236,7 @@ msgid "" "`hash` is called the first time only after the *object* was deleted, the " "call will raise :exc:`TypeError`." msgstr "" -"Las referencias débiles son :term:`hashable` si el *objet* es mapeable. " +"Las referencias débiles son :term:`hashable` si el *object* es mapeable. " "Ellos mantendrán su valor del hash incluso cuando el *objet* haya sido " "eliminado. Si :func:`hash` es llamado por primera vez sólo después de que " "*object* sea eliminado, la llamada lanzará un :exc:`TypeError`." @@ -597,7 +597,7 @@ msgid "" "invalidated before the weak reference is called; the idiom shown above is " "safe in threaded applications as well as single-threaded applications." msgstr "" -"Usar una prueba separada para \"vividad\" crea una condición de carrera en " +"Usar una prueba separada para \"vivacidad\" crea una condición de carrera en " "aplicaciones con hilos; otro hilo puede hacer que una referencia débil sea " "invalidada antes de que la referencia débil sea llamada; El modismo mostrado " "arriba es seguro en aplicaciones con hilos también como aplicaciones de un " diff --git a/library/xml.dom.po b/library/xml.dom.po index 99966dc62f..0ba67973e1 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -58,7 +58,7 @@ msgstr "" "El DOM es extremadamente útil para aplicaciones de acceso directo. SAX sólo " "te permite la vista de una parte del documento a la vez. Si estás mirando un " "elemento SAX, no tienes acceso a otro. Si estás viendo un nodo de texto, no " -"tienes acceso al elemento contendor. Cuando desarrollas una aplicación SAX, " +"tienes acceso al elemento contenedor. Cuando desarrollas una aplicación SAX, " "necesitas registrar la posición de tu programa en el documento en algún lado " "de tu código. SAX no lo hace por ti. Además, desafortunadamente no podrás " "mirar hacia adelante (*look ahead*) en el documento XML." @@ -252,7 +252,7 @@ msgid "" msgstr "" "El espacio de nombres de la URI asociada con el prefijo ``xml``, como se " "define por `Namespaces in XML `_ " -"(section 4)." +"(sección 4)." #: ../Doc/library/xml.dom.rst:127 msgid "" @@ -262,7 +262,7 @@ msgid "" msgstr "" "El espacio de nombres del URI para declaraciones del espacio de nombres, " "como se define en `Document Object Model (DOM) Level 2 Core Specification " -"`_ (section 1.1.8)." +"`_ (sección 1.1.8)." #: ../Doc/library/xml.dom.rst:134 msgid "" @@ -271,7 +271,7 @@ msgid "" msgstr "" "El URI del espacio de nombres del XHTML como se define en `XHTML 1.0: The " "Extensible HyperText Markup Language `_ " -"(section 3.1.1)." +"(sección 3.1.1)." #: ../Doc/library/xml.dom.rst:138 msgid "" diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 59cb4112f0..c69f588fac 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -6,41 +6,47 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: Python 3.8\n" +"Project-Id-Version: Python 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-07-18 20:04+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Marcos Medrano \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/xml.etree.elementtree.rst:2 msgid ":mod:`xml.etree.ElementTree` --- The ElementTree XML API" -msgstr "" +msgstr ":mod:`xml.etree.ElementTree` --- La API XML de ElementTree" #: ../Doc/library/xml.etree.elementtree.rst:9 msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/xml/etree/ElementTree.py`" #: ../Doc/library/xml.etree.elementtree.rst:13 msgid "" "The :mod:`xml.etree.ElementTree` module implements a simple and efficient " "API for parsing and creating XML data." msgstr "" +"El módulo :mod:`xml.etree.ElementTree` implementa una API simple y eficiente " +"para parsear y crear datos XML." #: ../Doc/library/xml.etree.elementtree.rst:16 msgid "This module will use a fast implementation whenever available." msgstr "" +"Este módulo utilizará una implementación rápida siempre que esté disponible." #: ../Doc/library/xml.etree.elementtree.rst:19 msgid "The :mod:`xml.etree.cElementTree` module is deprecated." -msgstr "" +msgstr "El módulo :mod:`xml.etree.cElementTree` es obsoleto." #: ../Doc/library/xml.etree.elementtree.rst:25 msgid "" @@ -48,10 +54,13 @@ msgid "" "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" +"El módulo :mod:`xml.etree.ElementTree` no es seguro contra datos construidos " +"maliciosamente. Si necesita parsear datos no fiables o no autentificados, " +"vea :ref:`xml-vulnerabilities`." #: ../Doc/library/xml.etree.elementtree.rst:30 msgid "Tutorial" -msgstr "" +msgstr "Tutorial" #: ../Doc/library/xml.etree.elementtree.rst:32 msgid "" @@ -59,10 +68,13 @@ msgid "" "short). The goal is to demonstrate some of the building blocks and basic " "concepts of the module." msgstr "" +"Este es un tutorial corto para usar :mod:`xml.etree.ElementTree` (``ET`` en " +"resumen). El objetivo es demostrar algunos de los componentes y conceptos " +"básicos del módulo." #: ../Doc/library/xml.etree.elementtree.rst:37 msgid "XML tree and elements" -msgstr "" +msgstr "Árbol y elementos XML" #: ../Doc/library/xml.etree.elementtree.rst:39 msgid "" @@ -74,24 +86,34 @@ msgid "" "class:`ElementTree` level. Interactions with a single XML element and its " "sub-elements are done on the :class:`Element` level." msgstr "" +"XML es un formato de datos inherentemente jerárquico, y la forma más natural " +"de representarlo es con un árbol. ``ET`` tiene dos clases para este " +"propósito - :class:`ElementTree` representa todo el documento XML como un " +"árbol, y :class:`Element` representa un solo nodo en este árbol. Las " +"interacciones con todo el documento (leer y escribir en/desde archivos) se " +"realizan normalmente en el nivel de :class:`ElementTree`. Las interacciones " +"con un solo elemento XML y sus sub-elementos se realizan en el nivel :class:" +"`Element`." #: ../Doc/library/xml.etree.elementtree.rst:50 msgid "Parsing XML" -msgstr "" +msgstr "Procesando XML" #: ../Doc/library/xml.etree.elementtree.rst:52 msgid "" "We'll be using the following XML document as the sample data for this " "section:" msgstr "" +"Usaremos el siguiente documento XML como los datos de muestra para esta " +"sección:" #: ../Doc/library/xml.etree.elementtree.rst:80 msgid "We can import this data by reading from a file::" -msgstr "" +msgstr "Podemos importar estos datos leyendo desde un archivo::" #: ../Doc/library/xml.etree.elementtree.rst:86 msgid "Or directly from a string::" -msgstr "" +msgstr "O directamente desde una cadena de caracteres::" #: ../Doc/library/xml.etree.elementtree.rst:90 msgid "" @@ -100,19 +122,27 @@ msgid "" "functions may create an :class:`ElementTree`. Check the documentation to be " "sure." msgstr "" +":func:`fromstring` analiza el XML de una cadena de caracteres directamente " +"en un :class:`Element`, que es el elemento raíz del árbol analizado. Otras " +"funciones de análisis pueden crear un :class:`ElementTree`. Compruebe la " +"documentación para estar seguro." #: ../Doc/library/xml.etree.elementtree.rst:94 msgid "" "As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" msgstr "" +"Como un :class:`Element`, ``root`` tiene una etiqueta y un diccionario de " +"atributos::" #: ../Doc/library/xml.etree.elementtree.rst:101 msgid "It also has children nodes over which we can iterate::" -msgstr "" +msgstr "También tiene nodos hijos sobre los cuales podemos iterar::" #: ../Doc/library/xml.etree.elementtree.rst:110 msgid "Children are nested, and we can access specific child nodes by index::" msgstr "" +"Los hijos están anidados, y podemos acceder a nodos hijos específicos por el " +"índice::" #: ../Doc/library/xml.etree.elementtree.rst:118 msgid "" @@ -125,10 +155,18 @@ msgid "" "passing a custom :class:`TreeBuilder` instance to the :class:`XMLParser` " "constructor." msgstr "" +"No todos los elementos de la entrada XML acabarán siendo elementos del árbol " +"analizado. Actualmente, este módulo omite cualquier comentario XML, " +"instrucciones de procesamiento y declaraciones de tipo documento en la " +"entrada. Sin embargo, los árboles construidos utilizando la API de este " +"módulo, en lugar de analizar el texto XML, pueden contener comentarios e " +"instrucciones de procesamiento, que se incluirán al generar la salida XML. " +"Se puede acceder a una declaración de tipo documento pasando una instancia :" +"class:`TreeBuilder` personalizada al constructor :class:`XMLParser`." #: ../Doc/library/xml.etree.elementtree.rst:132 msgid "Pull API for non-blocking parsing" -msgstr "" +msgstr "API de consulta para un procesamiento no bloqueante" #: ../Doc/library/xml.etree.elementtree.rst:134 msgid "" @@ -140,6 +178,15 @@ msgid "" "able to parse XML incrementally, without blocking operations, while enjoying " "the convenience of fully constructed :class:`Element` objects." msgstr "" +"La mayoría de las funciones de análisis proporcionadas por este módulo " +"requieren que se lea todo el documento a la vez antes de retornar cualquier " +"resultado. Es posible utilizar un :class:`XMLParser` y alimentar los datos " +"en él de forma incremental, pero se trata de una *push* API que llama a " +"métodos en un objetivo invocable, que es demasiado bajo nivel e " +"inconveniente para la mayoría de las necesidades. A veces, lo que el usuario " +"realmente quiere es ser capaz de analizar XML de forma incremental, sin " +"bloquear las operaciones, mientras disfruta de la comodidad de los objetos :" +"class:`Element` totalmente construidos." #: ../Doc/library/xml.etree.elementtree.rst:142 msgid "" @@ -148,6 +195,11 @@ msgid "" "data incrementally with :meth:`XMLPullParser.feed` calls. To get the parsed " "XML elements, call :meth:`XMLPullParser.read_events`. Here is an example::" msgstr "" +"La herramienta más potente para hacer esto es :class:`XMLPullParser`. No " +"requiere una lectura de bloqueo para obtener los datos XML, y en su lugar se " +"alimenta de datos de forma incremental con llamadas a :meth:`XMLPullParser." +"feed`. Para obtener los elementos XML analizados, llama a :meth:" +"`XMLPullParser.read_events`. He aquí un ejemplo::" #: ../Doc/library/xml.etree.elementtree.rst:158 msgid "" @@ -155,6 +207,10 @@ msgid "" "where the XML data is being received from a socket or read incrementally " "from some storage device. In such cases, blocking reads are unacceptable." msgstr "" +"El caso de uso obvio es el de las aplicaciones que operan de forma no " +"bloqueante, donde los datos XML se reciben de un socket o se leen de forma " +"incremental desde algún dispositivo de almacenamiento. En estos casos, las " +"lecturas bloqueantes son inaceptables." #: ../Doc/library/xml.etree.elementtree.rst:162 msgid "" @@ -165,10 +221,16 @@ msgid "" "you're reading a large XML document and don't want to hold it wholly in " "memory." msgstr "" +"Debido a su flexibilidad, :class:`XMLPullParser` puede ser un inconveniente " +"para los casos de uso más simples. Si no te importa que tu aplicación se " +"bloquee en la lectura de datos XML pero te gustaría tener capacidades de " +"análisis incremental, echa un vistazo a :func:`iterparse`. Puede ser útil " +"cuando estás leyendo un documento XML grande y no quieres mantenerlo " +"completamente en memoria." #: ../Doc/library/xml.etree.elementtree.rst:169 msgid "Finding interesting elements" -msgstr "" +msgstr "Encontrando elementos interesantes" #: ../Doc/library/xml.etree.elementtree.rst:171 msgid "" @@ -176,6 +238,9 @@ msgid "" "all the sub-tree below it (its children, their children, and so on). For " "example, :meth:`Element.iter`::" msgstr "" +":class:`Element` tiene algunos métodos útiles que ayudan a iterar " +"recursivamente sobre todo el sub-árbol por debajo de él (sus hijos, los " +"hijos de sus hijos, y así sucesivamente). Por ejemplo, :meth:`Element.iter`::" #: ../Doc/library/xml.etree.elementtree.rst:184 msgid "" @@ -184,22 +249,32 @@ msgid "" "child with a particular tag, and :attr:`Element.text` accesses the element's " "text content. :meth:`Element.get` accesses the element's attributes::" msgstr "" +":meth:`Element.findall` encuentra sólo los elementos con una etiqueta que " +"son hijos directos del elemento actual. :meth:`Element.find` encuentra el " +"*primer* hijo con una etiqueta determinada, y :attr:`Element.text` accede al " +"contenido de texto del elemento. :meth:`Element.get` accede a los atributos " +"del elemento::" #: ../Doc/library/xml.etree.elementtree.rst:198 msgid "" "More sophisticated specification of which elements to look for is possible " "by using :ref:`XPath `." msgstr "" +"Es posible especificar de forma más sofisticada qué elementos buscar " +"utilizando :ref:`XPath `." #: ../Doc/library/xml.etree.elementtree.rst:202 msgid "Modifying an XML File" -msgstr "" +msgstr "Modificando un archivo XML" #: ../Doc/library/xml.etree.elementtree.rst:204 msgid "" ":class:`ElementTree` provides a simple way to build XML documents and write " "them to files. The :meth:`ElementTree.write` method serves this purpose." msgstr "" +":class:`ElementTree` proporciona una forma sencilla de construir documentos " +"XML y escribirlos en archivos. El método :meth:`ElementTree.write` sirve " +"para este propósito." #: ../Doc/library/xml.etree.elementtree.rst:207 msgid "" @@ -208,23 +283,31 @@ msgid "" "attributes (:meth:`Element.set` method), as well as adding new children (for " "example with :meth:`Element.append`)." msgstr "" +"Una vez creado, un objeto :class:`Element` puede ser manipulado cambiando " +"directamente sus campos (como :attr:`Element.text`), añadiendo y modificando " +"atributos (método :meth:`Element.set`), así como añadiendo nuevos hijos (por " +"ejemplo con :meth:`Element.append`)." #: ../Doc/library/xml.etree.elementtree.rst:212 msgid "" "Let's say we want to add one to each country's rank, and add an ``updated`` " "attribute to the rank element::" msgstr "" +"Digamos que queremos añadir uno al rango de cada país, y añadir un atributo " +"``updated`` al elemento rango::" #: ../Doc/library/xml.etree.elementtree.rst:222 #: ../Doc/library/xml.etree.elementtree.rst:266 msgid "Our XML now looks like this:" -msgstr "" +msgstr "Nuestro XML tiene ahora este aspecto:" #: ../Doc/library/xml.etree.elementtree.rst:250 msgid "" "We can remove elements using :meth:`Element.remove`. Let's say we want to " "remove all countries with a rank higher than 50::" msgstr "" +"Podemos eliminar elementos utilizando :meth:`Element.remove`. Digamos que " +"queremos eliminar todos los países con un rango superior a 50::" #: ../Doc/library/xml.etree.elementtree.rst:261 msgid "" @@ -233,20 +316,27 @@ msgid "" "example first collects all matching elements with ``root.findall()``, and " "only then iterates over the list of matches." msgstr "" +"Tenga en cuenta que la modificación concurrente mientras se itera puede " +"conducir a problemas, al igual que cuando se itera y modifica listas o " +"diccionarios de Python. Por lo tanto, el ejemplo recoge primero todos los " +"elementos coincidentes con ``root.findall()``, y sólo entonces itera sobre " +"la lista de coincidencias." #: ../Doc/library/xml.etree.elementtree.rst:288 msgid "Building XML documents" -msgstr "" +msgstr "Construyendo documentos XML" #: ../Doc/library/xml.etree.elementtree.rst:290 msgid "" "The :func:`SubElement` function also provides a convenient way to create new " "sub-elements for a given element::" msgstr "" +"La función :func:`SubElement` también proporciona una forma cómoda de crear " +"nuevos sub-elementos para un elemento dado::" #: ../Doc/library/xml.etree.elementtree.rst:301 msgid "Parsing XML with Namespaces" -msgstr "" +msgstr "Procesando XML con espacio de nombres" #: ../Doc/library/xml.etree.elementtree.rst:303 msgid "" @@ -257,12 +347,21 @@ msgid "" "TR/xml-names/#defaulting>`__, that full URI gets prepended to all of the non-" "prefixed tags." msgstr "" +"Si la entrada XML tiene `espacio de nombres `__, las etiquetas y los atributos con prefijos de la " +"forma ``prefix:sometag`` se expanden a ``{uri}sometag`` donde el *prefix* se " +"sustituye por el *URI* completo. Además, si hay un `espacio de nombre por " +"defecto `__, ese URI completo " +"se antepone a todas las etiquetas sin prefijo." #: ../Doc/library/xml.etree.elementtree.rst:311 msgid "" "Here is an XML example that incorporates two namespaces, one with the prefix " "\"fictional\" and the other serving as the default namespace:" msgstr "" +"A continuación se muestra un ejemplo de XML que incorpora dos espacios de " +"nombres, uno con el prefijo \"fictional\" y el otro que sirve como espacio " +"de nombres por defecto:" #: ../Doc/library/xml.etree.elementtree.rst:332 msgid "" @@ -270,30 +369,38 @@ msgid "" "every tag or attribute in the xpath of a :meth:`~Element.find` or :meth:" "`~Element.findall`::" msgstr "" +"Una forma de buscar y explorar este ejemplo XML es añadir manualmente el URI " +"a cada etiqueta o atributo en el XPath de un :meth:`~Element.find` o :meth:" +"`~Element.findall`::" #: ../Doc/library/xml.etree.elementtree.rst:343 msgid "" "A better way to search the namespaced XML example is to create a dictionary " "with your own prefixes and use those in the search functions::" msgstr "" +"Una mejor manera de buscar en el ejemplo de XML con espacio para nombres es " +"crear un diccionario con sus propios prefijos y utilizarlos en las funciones " +"de búsqueda::" #: ../Doc/library/xml.etree.elementtree.rst:355 msgid "These two approaches both output::" -msgstr "" +msgstr "Estos dos enfoques dan como resultado::" #: ../Doc/library/xml.etree.elementtree.rst:367 msgid "Additional resources" -msgstr "" +msgstr "Recursos adicionales" #: ../Doc/library/xml.etree.elementtree.rst:369 msgid "" "See http://effbot.org/zone/element-index.htm for tutorials and links to " "other docs." msgstr "" +"Vea http://effbot.org/zone/element-index.htm para tutoriales y enlaces a " +"otros documentos." #: ../Doc/library/xml.etree.elementtree.rst:376 msgid "XPath support" -msgstr "" +msgstr "Soporte de XPath" #: ../Doc/library/xml.etree.elementtree.rst:378 msgid "" @@ -302,11 +409,15 @@ msgid "" "small subset of the abbreviated syntax; a full XPath engine is outside the " "scope of the module." msgstr "" +"Este módulo proporciona un soporte limitado para las expresiones `XPath " +"`_ para localizar elementos en un árbol. El " +"objetivo es soportar un pequeño subconjunto de la sintaxis abreviada; un " +"motor XPath completo está fuera del alcance del módulo." #: ../Doc/library/xml.etree.elementtree.rst:384 #: ../Doc/library/xml.etree.elementtree.rst:758 msgid "Example" -msgstr "" +msgstr "Ejemplo" #: ../Doc/library/xml.etree.elementtree.rst:386 msgid "" @@ -314,28 +425,33 @@ msgid "" "module. We'll be using the ``countrydata`` XML document from the :ref:" "`Parsing XML ` section::" msgstr "" +"A continuación se muestra un ejemplo que demuestra algunas de las " +"capacidades de XPath del módulo. Utilizaremos el documento XML " +"``countrydata`` de la sección :ref:`Parsing XML `::" #: ../Doc/library/xml.etree.elementtree.rst:410 msgid "" "For XML with namespaces, use the usual qualified ``{namespace}tag`` " "notation::" msgstr "" +"Para XML con espacios de nombre, use la notación calificada habitual " +"``{namespace}tag``::" #: ../Doc/library/xml.etree.elementtree.rst:417 msgid "Supported XPath syntax" -msgstr "" +msgstr "Sintaxis XPath soportada" #: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Syntax" -msgstr "" +msgstr "Sintaxis" #: ../Doc/library/xml.etree.elementtree.rst:422 msgid "Meaning" -msgstr "" +msgstr "Significado" #: ../Doc/library/xml.etree.elementtree.rst:424 msgid "``tag``" -msgstr "" +msgstr "``tag``" #: ../Doc/library/xml.etree.elementtree.rst:424 msgid "" @@ -346,102 +462,128 @@ msgid "" "``spam`` in any (or no) namespace, and ``{}*`` only selects tags that are " "not in a namespace." msgstr "" +"Selecciona todos los elementos hijos con la etiqueta dada. Por ejemplo, " +"``spam`` selecciona todos los elementos hijos llamados ``spam``, y ``spam/" +"egg`` selecciona todos los nietos llamados ``egg`` en todos los hijos " +"llamados ``spam``. ``{namespace}*`` selecciona todas las etiquetas en el " +"espacio de nombres dado, ``{*}spam`` selecciona las etiquetas llamadas " +"``spam`` en cualquier (o ningún) espacio de nombres, y ``{}*`` sólo " +"selecciona las etiquetas que no están en un espacio de nombres." #: ../Doc/library/xml.etree.elementtree.rst:433 msgid "Support for star-wildcards was added." -msgstr "" +msgstr "Se ha añadido la posibilidad de utilizar comodines asterisco." #: ../Doc/library/xml.etree.elementtree.rst:436 msgid "``*``" -msgstr "" +msgstr "``*``" #: ../Doc/library/xml.etree.elementtree.rst:436 msgid "" "Selects all child elements, including comments and processing instructions. " "For example, ``*/egg`` selects all grandchildren named ``egg``." msgstr "" +"Selecciona todos los elementos hijos, incluidos los comentarios y las " +"instrucciones de procesamiento. Por ejemplo, ``*/egg`` selecciona todos los " +"hijos llamados ``egg``." #: ../Doc/library/xml.etree.elementtree.rst:440 msgid "``.``" -msgstr "" +msgstr "``.``" #: ../Doc/library/xml.etree.elementtree.rst:440 msgid "" "Selects the current node. This is mostly useful at the beginning of the " "path, to indicate that it's a relative path." msgstr "" +"Selecciona el nodo actual. Esto es útil sobre todo al principio de la ruta, " +"para indicar que es una ruta relativa." #: ../Doc/library/xml.etree.elementtree.rst:444 msgid "``//``" -msgstr "" +msgstr "``//``" #: ../Doc/library/xml.etree.elementtree.rst:444 msgid "" "Selects all subelements, on all levels beneath the current element. For " "example, ``.//egg`` selects all ``egg`` elements in the entire tree." msgstr "" +"Selecciona todos los sub-elementos, en todos los niveles por debajo del " +"elemento actual. Por ejemplo, ``.//egg`` selecciona todos los elementos " +"``egg`` en todo el árbol." #: ../Doc/library/xml.etree.elementtree.rst:448 msgid "``..``" -msgstr "" +msgstr "``..``" #: ../Doc/library/xml.etree.elementtree.rst:448 msgid "" "Selects the parent element. Returns ``None`` if the path attempts to reach " "the ancestors of the start element (the element ``find`` was called on)." msgstr "" +"Selecciona el elemento padre. Retorna ``None`` si la ruta intenta llegar a " +"los ancestros del elemento inicial (el elemento ``find`` fue invocado)." #: ../Doc/library/xml.etree.elementtree.rst:452 msgid "``[@attrib]``" -msgstr "" +msgstr "``[@attrib]``" #: ../Doc/library/xml.etree.elementtree.rst:452 msgid "Selects all elements that have the given attribute." -msgstr "" +msgstr "Selecciona todos los elementos que tengan el atributo dado." #: ../Doc/library/xml.etree.elementtree.rst:454 msgid "``[@attrib='value']``" -msgstr "" +msgstr "``[@attrib='value']``" #: ../Doc/library/xml.etree.elementtree.rst:454 msgid "" "Selects all elements for which the given attribute has the given value. The " "value cannot contain quotes." msgstr "" +"Selecciona todos los elementos para los que el atributo dado tiene el valor " +"dado. El valor no puede contener comillas." #: ../Doc/library/xml.etree.elementtree.rst:458 msgid "``[tag]``" -msgstr "" +msgstr "``[tag]``" #: ../Doc/library/xml.etree.elementtree.rst:458 msgid "" "Selects all elements that have a child named ``tag``. Only immediate " "children are supported." msgstr "" +"Selecciona todos los elementos que tienen un hijo llamado ``tag``. Sólo se " +"admiten los hijos inmediatos." #: ../Doc/library/xml.etree.elementtree.rst:461 msgid "``[.='text']``" -msgstr "" +msgstr "``[.='text']``" #: ../Doc/library/xml.etree.elementtree.rst:461 msgid "" "Selects all elements whose complete text content, including descendants, " "equals the given ``text``." msgstr "" +"Selecciona todos los elementos cuyo contenido de texto completo, incluyendo " +"los descendientes, es igual al \"texto\" dado." #: ../Doc/library/xml.etree.elementtree.rst:466 msgid "``[tag='text']``" -msgstr "" +msgstr "``[tag='text']``" #: ../Doc/library/xml.etree.elementtree.rst:466 msgid "" "Selects all elements that have a child named ``tag`` whose complete text " "content, including descendants, equals the given ``text``." msgstr "" +"Selecciona todos los elementos que tienen un hijo llamado ``tag`` cuyo " +"contenido de texto completo, incluyendo los descendientes, es igual al " +"``text`` dado." #: ../Doc/library/xml.etree.elementtree.rst:470 msgid "``[position]``" -msgstr "" +msgstr "``[position]``" #: ../Doc/library/xml.etree.elementtree.rst:470 msgid "" @@ -450,6 +592,10 @@ msgid "" "``last()`` (for the last position), or a position relative to the last " "position (e.g. ``last()-1``)." msgstr "" +"Selecciona todos los elementos que se encuentran en la posición dada. La " +"posición puede ser un número entero (1 es la primera posición), la expresión " +"``last()`` (para la última posición), o una posición relativa a la última " +"posición (por ejemplo, ``last()-1``)." #: ../Doc/library/xml.etree.elementtree.rst:477 msgid "" @@ -457,20 +603,24 @@ msgid "" "name, an asterisk, or another predicate. ``position`` predicates must be " "preceded by a tag name." msgstr "" +"Los predicados (expresiones entre corchetes) deben ir precedidos de un " +"nombre de etiqueta, un asterisco u otro predicado. Los predicados " +"``position`` deben ir precedidos de un nombre de etiqueta." #: ../Doc/library/xml.etree.elementtree.rst:482 #: ../Doc/library/xml.etree.elementtree.rst:810 msgid "Reference" -msgstr "" +msgstr "Referencia" #: ../Doc/library/xml.etree.elementtree.rst:487 #: ../Doc/library/xml.etree.elementtree.rst:815 msgid "Functions" -msgstr "" +msgstr "Funciones" #: ../Doc/library/xml.etree.elementtree.rst:491 msgid "`C14N 2.0 `_ transformation function." msgstr "" +"Función de transformación `C14N 2.0 `_." #: ../Doc/library/xml.etree.elementtree.rst:493 msgid "" @@ -480,7 +630,15 @@ msgid "" "representation. The main restrictions regard the placement of namespace " "declarations, the ordering of attributes, and ignorable whitespace." msgstr "" +"La canonización es una forma de normalizar la salida de XML de manera que " +"permita comparaciones byte a byte y firmas digitales. Reduce la libertad que " +"tienen los serializadores XML y en su lugar genera una representación XML " +"más restringida. Las principales restricciones se refieren a la colocación " +"de las declaraciones de espacio de nombres, el orden de los atributos y los " +"espacios en blanco ignorables." +# Traduzco "file-like object" como "objeto tipo archivo" (en lugar de "objeto similar a un archivo"). Me parece mas claro. +# Luego "file(-like) object" se refiere a un "objeto archivo" o a un "objeto tipo archivo", así que pongo esto último entre parentesis. #: ../Doc/library/xml.etree.elementtree.rst:499 msgid "" "This function takes an XML data string (*xml_data*) or a file path or file-" @@ -489,62 +647,87 @@ msgid "" "as a text string if not. The output file receives text, not bytes. It " "should therefore be opened in text mode with ``utf-8`` encoding." msgstr "" +"Esta función toma una cadena de datos XML (*xml_data*) o una ruta de archivo " +"o un objeto tipo archivo (*from_file*) como entrada, la convierte a la forma " +"canónica y la escribe utilizando el objeto archivo (o tipo archivo) *out*, " +"si se proporciona, o la devuelve como una cadena de texto si no. El archivo " +"de salida recibe texto, no bytes. Por tanto, debe abrirse en modo texto con " +"codificación ``utf-8``." #: ../Doc/library/xml.etree.elementtree.rst:506 msgid "Typical uses::" -msgstr "" +msgstr "Usos típicos::" +# Parece un poco rendunante pero "options" es el nombre del argumento así que lo dejo sin traducir y agrego "opciones de configuración" #: ../Doc/library/xml.etree.elementtree.rst:517 msgid "The configuration *options* are as follows:" -msgstr "" +msgstr "Las opciones de configuración *options* son las siguientes:" +# Set to -> Establecer? Configurar? "Setear"? +# El párrafo utiliza true/false en minúsculas. La traducción literal sería algo así como: "establecer a verdadero para incluir comentarios (por defecto: falso)". +# Sin embargo, creo que en español resulta mas claro si se usa True/False (con mayúsculas, como valores booleanos). #: ../Doc/library/xml.etree.elementtree.rst:519 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" +"*with_comments*: configurar a ``True`` para incluir los comentarios (por " +"defecto: ``False``)" #: ../Doc/library/xml.etree.elementtree.rst:520 msgid "" "*strip_text*: set to true to strip whitespace before and after text content" msgstr "" +"*strip_text*: configurar a ``True`` para eliminar los espacios en blanco " +"antes y después del contenido del texto" #: ../Doc/library/xml.etree.elementtree.rst:521 #: ../Doc/library/xml.etree.elementtree.rst:523 msgid "(default: false)" -msgstr "" +msgstr "(por defecto: ``False``)" #: ../Doc/library/xml.etree.elementtree.rst:522 msgid "" "*rewrite_prefixes*: set to true to replace namespace prefixes by " "\"n{number}\"" msgstr "" +"*rewrite_prefixes*: configurar a ``True`` para sustituir los prefijos de " +"espacios de nombres por \"n{number}\"" #: ../Doc/library/xml.etree.elementtree.rst:524 msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" msgstr "" +"*qname_aware_tags*: un conjunto de nombres de etiquetas conscientes de qname " +"en el que los prefijos" #: ../Doc/library/xml.etree.elementtree.rst:525 #: ../Doc/library/xml.etree.elementtree.rst:527 msgid "should be replaced in text content (default: empty)" -msgstr "" +msgstr "deben ser reemplazados en el contenido del texto (por defecto: vacío)" #: ../Doc/library/xml.etree.elementtree.rst:526 msgid "" "*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" msgstr "" +"*qname_aware_attrs*: un conjunto de nombres de atributos conscientes de " +"qname en el que los prefijos" #: ../Doc/library/xml.etree.elementtree.rst:528 msgid "*exclude_attrs*: a set of attribute names that should not be serialised" msgstr "" +"*exclude_attrs*: un conjunto de nombres de atributos que no deben " +"serializarse" #: ../Doc/library/xml.etree.elementtree.rst:529 msgid "*exclude_tags*: a set of tag names that should not be serialised" msgstr "" +"*exclude_tags*: un conjunto de nombres de etiquetas que no deben serializarse" #: ../Doc/library/xml.etree.elementtree.rst:531 msgid "" "In the option list above, \"a set\" refers to any collection or iterable of " "strings, no ordering is expected." msgstr "" +"En la lista de opciones anterior, \"un conjunto\" se refiere a cualquier " +"colección o iterable de cadenas, no se espera ningún orden." #: ../Doc/library/xml.etree.elementtree.rst:539 msgid "" @@ -554,6 +737,11 @@ msgid "" "string containing the comment string. Returns an element instance " "representing a comment." msgstr "" +"Fábrica de elementos de comentario. Esta función de fábrica crea un elemento " +"especial que será serializado como un comentario XML por el serializador " +"estándar. La cadena de comentario puede ser una cadena de bytes o una cadena " +"Unicode. *text* es una cadena que contiene la cadena de comentario. Devuelve " +"una instancia de elemento que representa un comentario." #: ../Doc/library/xml.etree.elementtree.rst:545 msgid "" @@ -562,28 +750,39 @@ msgid "" "comment nodes if they have been inserted into to the tree using one of the :" "class:`Element` methods." msgstr "" +"Tenga en cuenta que :class:`XMLParser` omite los comentarios en la entrada " +"en lugar de crear objetos de comentario para ellos. Un :class:`ElementTree` " +"sólo contendrá nodos de comentario si se han insertado en el árbol " +"utilizando uno de los métodos :class:`Element`." +# Debugging -> Depuración ? #: ../Doc/library/xml.etree.elementtree.rst:552 msgid "" "Writes an element tree or element structure to sys.stdout. This function " "should be used for debugging only." msgstr "" +"Escribe un árbol de elementos o una estructura de elementos en sys.stdout. " +"Esta función debe utilizarse únicamente para debugging." #: ../Doc/library/xml.etree.elementtree.rst:555 msgid "" "The exact output format is implementation dependent. In this version, it's " "written as an ordinary XML file." msgstr "" +"El formato de salida exacto depende de la implementación. En esta versión, " +"se escribe como un archivo XML ordinario." #: ../Doc/library/xml.etree.elementtree.rst:558 msgid "*elem* is an element tree or an individual element." -msgstr "" +msgstr "*elem* es un árbol de elementos o un elemento individual." #: ../Doc/library/xml.etree.elementtree.rst:560 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" +"La función :func:`dump` ahora preserva el orden de atributos especificado " +"por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:567 msgid "" @@ -592,6 +791,10 @@ msgid "" "If not given, the standard :class:`XMLParser` parser is used. Returns an :" "class:`Element` instance." msgstr "" +"Analiza una sección XML a partir de una constante de cadena. Igual que :func:" +"`XML`. *text* es una cadena que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador " +"estándar :class:`XMLParser`. Devuelve una instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:575 msgid "" @@ -600,6 +803,11 @@ msgid "" "optional parser instance. If not given, the standard :class:`XMLParser` " "parser is used. Returns an :class:`Element` instance." msgstr "" +"Analiza un documento XML a partir de una secuencia de fragmentos de cadena " +"de caracteres. *sequence* es una lista u otra secuencia que contiene " +"fragmentos de datos XML. *parser* es una instancia de parser opcional. Si no " +"se da, se utiliza el analizador estándar :class:`XMLParser`. Retorna una " +"instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:585 msgid "" @@ -610,12 +818,21 @@ msgid "" "partial subtrees inside of an already indented tree, pass the initial " "indentation level as *level*." msgstr "" +"Añade espacios en blanco al subárbol para indentar el árbol visualmente. " +"Esto puede utilizarse para generar una salida XML con una impresión bonita. " +"*tree* puede ser un Element o ElementTree. *space* es la cadena de espacio " +"en blanco que se insertará para cada nivel de indentación, dos caracteres de " +"espacio por defecto. Para indentar subárboles parciales dentro de un árbol " +"ya indentado, pase el nivel de indentación inicial como *level*." #: ../Doc/library/xml.etree.elementtree.rst:597 msgid "" "Check if an object appears to be a valid element object. *element* is an " "element instance. Return ``True`` if this is an element object." msgstr "" +"Comprueba si un objeto parece ser un objeto elemento válido. *element* es " +"una instancia de elemento. Retorna ``True`` si se trata de un objeto " +"elemento." #: ../Doc/library/xml.etree.elementtree.rst:603 msgid "" @@ -631,6 +848,18 @@ msgid "" "`TreeBuilder` as a target. Returns an :term:`iterator` providing ``(event, " "elem)`` pairs." msgstr "" +"Analiza una sección XML en un árbol de elementos de forma incremental, e " +"informa al usuario de lo que ocurre. *source* es un nombre de archivo o un :" +"term:`file object` que contiene datos XML. *events* es una secuencia de " +"eventos para informar. Los eventos soportados son las cadenas ``\"start\"``, " +"``\"end\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` y ``\"end-ns\"`` " +"(los eventos \"ns\" se utilizan para obtener información detallada del " +"espacio de nombres). Si se omite *events*, sólo se informará de los eventos " +"``\"end\"``. *parser* es una instancia opcional de parser. Si no se da, se " +"utiliza el analizador estándar de :class:`XMLParser`. *parser* debe ser una " +"subclase de :class:`XMLParser` y sólo puede utilizar el :class:`TreeBuilder` " +"por defecto como objetivo. Devuelve un :term:`iterator` que proporciona " +"pares ``(event, elem)``." #: ../Doc/library/xml.etree.elementtree.rst:615 msgid "" @@ -639,6 +868,11 @@ msgid "" "for applications where blocking reads can't be made. For fully non-blocking " "parsing, see :class:`XMLPullParser`." msgstr "" +"Tenga en cuenta que mientras :func:`iterparse` construye el árbol de forma " +"incremental, emite lecturas de bloqueo en la *source* (o en el fichero que " +"nombra). Por lo tanto, no es adecuado para aplicaciones en las que no se " +"pueden realizar lecturas de bloqueo. Para un análisis completamente no " +"bloqueante, véase :class:`XMLPullParser`." #: ../Doc/library/xml.etree.elementtree.rst:622 msgid "" @@ -648,20 +882,27 @@ msgid "" "point. The same applies to the element children; they may or may not be " "present." msgstr "" +":func:`iterparse` sólo garantiza que ha visto el carácter \">\" de una " +"etiqueta de inicio cuando emite un evento \"start\", por lo que los " +"atributos están definidos, pero el contenido de los atributos text y tail " +"está indefinido en ese momento. Lo mismo ocurre con los hijos del elemento; " +"pueden estar presentes o no." #: ../Doc/library/xml.etree.elementtree.rst:628 #: ../Doc/library/xml.etree.elementtree.rst:1456 msgid "If you need a fully populated element, look for \"end\" events instead." msgstr "" +"Si necesita un elemento totalmente poblado, busque los eventos \"end\" en su " +"lugar." #: ../Doc/library/xml.etree.elementtree.rst:630 msgid "The *parser* argument." -msgstr "" +msgstr "El argumento *parser*." #: ../Doc/library/xml.etree.elementtree.rst:633 #: ../Doc/library/xml.etree.elementtree.rst:1460 msgid "The ``comment`` and ``pi`` events were added." -msgstr "" +msgstr "Los eventos ``comment`` y ``pi`` han sido añadidos." #: ../Doc/library/xml.etree.elementtree.rst:639 msgid "" @@ -670,6 +911,10 @@ msgid "" "not given, the standard :class:`XMLParser` parser is used. Returns an :" "class:`ElementTree` instance." msgstr "" +"Analiza una sección XML en un árbol de elementos. *source* es un nombre de " +"archivo o un objeto de archivo que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador " +"estándar :class:`XMLParser`. Devuelve una instancia de :class:`ElementTree`." #: ../Doc/library/xml.etree.elementtree.rst:647 msgid "" @@ -678,6 +923,11 @@ msgid "" "containing the PI target. *text* is a string containing the PI contents, if " "given. Returns an element instance, representing a processing instruction." msgstr "" +"Fábrica de elementos PI. Esta función de fábrica crea un elemento especial " +"que será serializado como una instrucción de procesamiento XML. *target* es " +"una cadena que contiene el objetivo de PI. *text* es una cadena que contiene " +"el contenido de PI, si se da. Devuelve una instancia de elemento, " +"representando una instrucción de procesamiento." #: ../Doc/library/xml.etree.elementtree.rst:652 msgid "" @@ -686,6 +936,11 @@ msgid "" "only contain processing instruction nodes if they have been inserted into to " "the tree using one of the :class:`Element` methods." msgstr "" +"Tenga en cuenta que :class:`XMLParser` omite las instrucciones de " +"procesamiento en la entrada en lugar de crear objetos de comentario para " +"ellas. Un :class:`ElementTree` sólo contendrá nodos de instrucciones de " +"procesamiento si se han insertado en el árbol utilizando uno de los métodos :" +"class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:660 msgid "" @@ -695,12 +950,19 @@ msgid "" "attributes in this namespace will be serialized with the given prefix, if at " "all possible." msgstr "" +"Registra un prefijo de espacio de nombres. El registro es global, y " +"cualquier asignación existente para el prefijo dado o el URI del espacio de " +"nombres será eliminado. *prefix* es un prefijo de espacio de nombres. *uri* " +"es una uri del espacio de nombres. Las etiquetas y los atributos de este " +"espacio de nombres se serializarán con el prefijo dado, si es posible." #: ../Doc/library/xml.etree.elementtree.rst:671 msgid "" "Subelement factory. This function creates an element instance, and appends " "it to an existing element." msgstr "" +"Fábrica de sub-elementos. Esta función crea una instancia de elemento y la " +"añade a un elemento existente." #: ../Doc/library/xml.etree.elementtree.rst:674 msgid "" @@ -710,6 +972,12 @@ msgid "" "attributes. *extra* contains additional attributes, given as keyword " "arguments. Returns an element instance." msgstr "" +"El nombre del elemento, los nombres de los atributos y los valores de los " +"atributos pueden ser cadenas de bytes o cadenas de caracteres Unicode. " +"*parent* es el elemento padre. *tag* es el nombre del sub-elemento. *attrib* " +"es un diccionario opcional que contiene los atributos del elemento. *extra* " +"contiene atributos adicionales, dados como argumentos de palabras clave. " +"Devuelve una instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:685 msgid "" @@ -722,23 +990,34 @@ msgid "" "the same meaning as in :meth:`ElementTree.write`. Returns an (optionally) " "encoded string containing the XML data." msgstr "" +"Genera una representación de cadena de caracteres de un elemento XML, " +"incluyendo todos los sub-elementos. *element* es una instancia de :class:" +"`Element`. *encoding* [1]_ es la codificación de salida (por defecto es US-" +"ASCII). Utilice ``encoding=\"unicode\"`` para generar una cadena de " +"caracteres Unicode (de lo contrario, se genera una cadena de bytes). " +"*method* es ``\"xml\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml" +"\"``). *xml_declaration*, *default_namespace* y *short_empty_elements* " +"tienen el mismo significado que en :meth:`ElementTree.write`. Devuelve una " +"cadena (opcionalmente) codificada que contiene los datos XML." #: ../Doc/library/xml.etree.elementtree.rst:694 #: ../Doc/library/xml.etree.elementtree.rst:721 #: ../Doc/library/xml.etree.elementtree.rst:1168 msgid "The *short_empty_elements* parameter." -msgstr "" +msgstr "El parámetro *short_empty_elements*." #: ../Doc/library/xml.etree.elementtree.rst:697 #: ../Doc/library/xml.etree.elementtree.rst:724 msgid "The *xml_declaration* and *default_namespace* parameters." -msgstr "" +msgstr "Los parámetros *xml_declaration* y *default_namespace*." #: ../Doc/library/xml.etree.elementtree.rst:700 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" +"La función :func:`tostring` ahora preserva el orden de atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:709 msgid "" @@ -753,12 +1032,25 @@ msgid "" "any specific sequence, except that ``b\"\".join(tostringlist(element)) == " "tostring(element)``." msgstr "" +"Genera una representación de cadena de caracteres de un elemento XML, " +"incluyendo todos los sub-elementos. *element* es una instancia de :class:" +"`Element`. *encoding* [1]_ es la codificación de salida (por defecto es US-" +"ASCII). Utilice ``encoding=\"unicode\"`` para generar una cadena de " +"caracteres Unicode (de lo contrario, se genera una cadena de bytes). " +"*method* es ``\"xml\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml" +"\"``). *xml_declaration*, *default_namespace* y *short_empty_elements* " +"tienen el mismo significado que en :meth:`ElementTree.write`. Devuelve una " +"lista de cadenas (opcionalmente) codificadas que contienen los datos XML. No " +"garantiza ninguna secuencia específica, excepto que ``b\"\"." +"join(tostringlist(element)) == tostring(element)``." #: ../Doc/library/xml.etree.elementtree.rst:727 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" +"La función :func:`tostringlist` ahora preserva el orden de atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:734 msgid "" @@ -767,6 +1059,12 @@ msgid "" "data. *parser* is an optional parser instance. If not given, the standard :" "class:`XMLParser` parser is used. Returns an :class:`Element` instance." msgstr "" +"Analiza una sección XML a partir de una constante de cadena de caracteres. " +"Esta función puede utilizarse para incrustar \"literales XML\" en el código " +"de Python. *text* es una cadena de caracteres que contiene datos XML. " +"*parser* es una instancia de parser opcional. Si no se da, se utiliza el " +"analizador estándar :class:`XMLParser`. Devuelve una instancia de :class:" +"`Element`." #: ../Doc/library/xml.etree.elementtree.rst:742 msgid "" @@ -776,10 +1074,16 @@ msgid "" "class:`XMLParser` parser is used. Returns a tuple containing an :class:" "`Element` instance and a dictionary." msgstr "" +"Analiza una sección XML a partir de una constante de cadena de caracteres, y " +"también devuelve un diccionario que mapea los id:s de elementos a elementos. " +"*text* es una cadena de caracteres que contiene datos XML. *parser* es una " +"instancia de parser opcional. Si no se da, se utiliza el analizador estándar " +"de :class:`XMLParser`. Devuelve una tupla que contiene una instancia de :" +"class:`Element` y un diccionario." #: ../Doc/library/xml.etree.elementtree.rst:752 msgid "XInclude support" -msgstr "" +msgstr "Soporte de XInclude" #: ../Doc/library/xml.etree.elementtree.rst:754 msgid "" @@ -788,6 +1092,11 @@ msgid "" "module. This module can be used to insert subtrees and text strings into " "element trees, based on information in the tree." msgstr "" +"Este módulo proporciona un soporte limitado para las directivas `XInclude " +"`_, a través del módulo de ayuda :mod:`xml." +"etree.ElementInclude`. Este módulo puede utilizarse para insertar subárboles " +"y cadenas de texto en árboles de elementos, basándose en la información del " +"árbol." #: ../Doc/library/xml.etree.elementtree.rst:760 msgid "" @@ -796,6 +1105,11 @@ msgid "" "XInclude}include`` element and set the **parse** attribute to ``\"xml\"``, " "and use the **href** attribute to specify the document to include." msgstr "" +"Aquí hay un ejemplo que demuestra el uso del módulo XInclude. Para incluir " +"un documento XML en el documento actual, utilice el elemento ``{http://www." +"w3.org/2001/XInclude}include`` y establezca el atributo **parse** como ``" +"\"xml\"``, y utilice el atributo **href** para especificar el documento a " +"incluir." #: ../Doc/library/xml.etree.elementtree.rst:769 msgid "" @@ -803,12 +1117,17 @@ msgid "" "custom loaders to override this behaviour. Also note that the standard " "helper does not support XPointer syntax." msgstr "" +"Por defecto, el atributo **href** se trata como un nombre de archivo. Puede " +"utilizar cargadores personalizados para anular este comportamiento. También " +"tenga en cuenta que el ayudante estándar no soporta la sintaxis XPointer." #: ../Doc/library/xml.etree.elementtree.rst:771 msgid "" "To process this file, load it as usual, and pass the root element to the :" "mod:`xml.etree.ElementTree` module:" msgstr "" +"Para procesar este archivo, cárguelo como de costumbre y pase el elemento " +"raíz al módulo :mod:`xml.etree.ElementTree`:" #: ../Doc/library/xml.etree.elementtree.rst:782 msgid "" @@ -816,22 +1135,29 @@ msgid "" "include`` element with the root element from the **source.xml** document. " "The result might look something like this:" msgstr "" +"El módulo ElementInclude sustituye el elemento ``{http://www.w3.org/2001/" +"XInclude}include`` por el elemento raíz del documento **source.xml**. El " +"resultado podría ser algo así:" #: ../Doc/library/xml.etree.elementtree.rst:790 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" +"Si se omite el atributo **parse**, el valor por defecto es \"xml\". El " +"atributo href es obligatorio." #: ../Doc/library/xml.etree.elementtree.rst:792 msgid "" "To include a text document, use the ``{http://www.w3.org/2001/XInclude}" "include`` element, and set the **parse** attribute to \"text\":" msgstr "" +"Para incluir un documento de texto, utilice el elemento ``{http://www.w3." +"org/2001/XInclude}include`` y establezca el atributo **parse** como \"text\":" #: ../Doc/library/xml.etree.elementtree.rst:801 msgid "The result might look something like:" -msgstr "" +msgstr "El resultado podría ser algo así:" #: ../Doc/library/xml.etree.elementtree.rst:819 msgid "" @@ -843,6 +1169,13 @@ msgid "" "is a Unicode string. If the loader fails, it can return None or raise an " "exception." msgstr "" +"Cargador por defecto. Este cargador por defecto lee un recurso incluido del " +"disco. *href* es una URL. *parse* es para el modo de análisis \"xml\" o " +"\"text\". *encoding* es una codificación de texto opcional. Si no se da, la " +"codificación es ``utf-8``. Retorna el recurso expandido. Si el modo de " +"análisis es ``\"xml\"``, es una instancia de ElementTree. Si el modo de " +"análisis es \"text\", se trata de una cadena Unicode. Si el cargador falla, " +"puede retornar None o lanzar una excepción." #: ../Doc/library/xml.etree.elementtree.rst:830 msgid "" @@ -854,6 +1187,14 @@ msgid "" "maximum number of recursive inclusions. Limited to reduce the risk of " "malicious content explosion. Pass a negative value to disable the limitation." msgstr "" +"Esta función expande las directivas XInclude. *elem* es el elemento raíz. " +"*loader* es un cargador de recursos opcional. Si se omite, se utiliza por " +"defecto :func:`default_loader`. Si se da, debe ser un callable que " +"implemente la misma interfaz que :func:`default_loader`. *base_url* es la " +"URL base del archivo original, para resolver las referencias relativas al " +"archivo de inclusión. *max_depth* es el número máximo de inclusiones " +"recursivas. Limitado para reducir el riesgo de explosión de contenido " +"malicioso. Pase un valor negativo para desactivar la limitación." #: ../Doc/library/xml.etree.elementtree.rst:838 msgid "" @@ -861,20 +1202,26 @@ msgid "" "ElementTree instance. If the parse mode is \"text\", this is a Unicode " "string. If the loader fails, it can return None or raise an exception." msgstr "" +"Retorna el recurso expandido. Si el modo de análisis es ``\"xml\"``, se " +"trata de una instancia de ElementTree. Si el modo de análisis es \"text\", " +"se trata de una cadena Unicode. Si el cargador falla, puede retornar None o " +"lanzar una excepción." #: ../Doc/library/xml.etree.elementtree.rst:843 msgid "The *base_url* and *max_depth* parameters." -msgstr "" +msgstr "Los parámetros *base_url* y *max_depth*." #: ../Doc/library/xml.etree.elementtree.rst:850 msgid "Element Objects" -msgstr "" +msgstr "Objetos Element" #: ../Doc/library/xml.etree.elementtree.rst:854 msgid "" "Element class. This class defines the Element interface, and provides a " "reference implementation of this interface." msgstr "" +"Clase Element. Esta clase define la interfaz Element, y provee una " +"implementación de referencia de esta interfaz." #: ../Doc/library/xml.etree.elementtree.rst:857 msgid "" @@ -883,12 +1230,19 @@ msgid "" "optional dictionary, containing element attributes. *extra* contains " "additional attributes, given as keyword arguments." msgstr "" +"El nombre del elemento, los nombres de los atributos y los valores de los " +"atributos pueden ser cadenas de bytes o cadenas Unicode. *tag* es el nombre " +"del elemento. *attrib* es un diccionario opcional que contiene los atributos " +"del elemento. *extra* contiene atributos adicionales, dados como argumentos " +"de palabras clave." #: ../Doc/library/xml.etree.elementtree.rst:865 msgid "" "A string identifying what kind of data this element represents (the element " "type, in other words)." msgstr "" +"Una cadena de caracteres que identifica qué tipo de datos representa este " +"elemento (el tipo de elemento, en otras palabras)." #: ../Doc/library/xml.etree.elementtree.rst:872 msgid "" @@ -900,6 +1254,13 @@ msgid "" "the text between the element's end tag and the next tag, or ``None``. For " "the XML data" msgstr "" +"Estos atributos pueden utilizarse para contener datos adicionales asociados " +"al elemento. Sus valores suelen ser cadenas, pero pueden ser cualquier " +"objeto específico de la aplicación. Si el elemento se crea a partir de un " +"archivo XML, el atributo *text* contiene el texto entre la etiqueta inicial " +"del elemento y su primera etiqueta hija o final, o ``None``, y el atributo " +"*tail* contiene el texto entre la etiqueta final del elemento y la siguiente " +"etiqueta, o ``None``. Para los datos XML" #: ../Doc/library/xml.etree.elementtree.rst:884 msgid "" @@ -908,16 +1269,23 @@ msgid "" "*text* ``\"2\"`` and *tail* ``None``, and the *d* element has *text* " "``None`` and *tail* ``\"3\"``." msgstr "" +"el elemento *a* tiene ``None`` para los atributos *text* y *tail*, el " +"elemento *b* tiene *text* ``\"1\"`` y *tail* ``\"4\"``, el elemento *c* " +"tiene *text* ``\"2\"`` y *tail* ``None``, y el elemento *d* tiene *text* " +"``None`` y *tail* ``\"3\"``." #: ../Doc/library/xml.etree.elementtree.rst:889 msgid "" "To collect the inner text of an element, see :meth:`itertext`, for example ``" "\"\".join(element.itertext())``." msgstr "" +"Para recoger el texto interior de un elemento, véase :meth:`itertext`, por " +"ejemplo ``\"\".join(element.itertext())``." #: ../Doc/library/xml.etree.elementtree.rst:892 msgid "Applications may store arbitrary objects in these attributes." msgstr "" +"Las aplicaciones pueden almacenar objetos arbitrarios en estos atributos." #: ../Doc/library/xml.etree.elementtree.rst:897 msgid "" @@ -927,45 +1295,61 @@ msgid "" "the dictionary only if someone asks for it. To take advantage of such " "implementations, use the dictionary methods below whenever possible." msgstr "" +"Un diccionario que contiene los atributos del elemento. Ten en cuenta que " +"aunque el valor *attrib* es siempre un diccionario mutable real de Python, " +"una implementación de ElementTree puede elegir utilizar otra representación " +"interna, y crear el diccionario sólo si alguien lo pide. Para aprovechar " +"este tipo de implementaciones, utiliza los métodos de diccionario que " +"aparecen a continuación siempre que sea posible." #: ../Doc/library/xml.etree.elementtree.rst:903 msgid "The following dictionary-like methods work on the element attributes." msgstr "" +"Los siguientes métodos tipo diccionario funcionan con los atributos de los " +"elementos." #: ../Doc/library/xml.etree.elementtree.rst:908 msgid "" "Resets an element. This function removes all subelements, clears all " "attributes, and sets the text and tail attributes to ``None``." msgstr "" +"Restablece un elemento. Esta función elimina todos los sub-elementos, borra " +"todos los atributos y establece los atributos de texto y cola como ``None``." #: ../Doc/library/xml.etree.elementtree.rst:914 msgid "Gets the element attribute named *key*." -msgstr "" +msgstr "Obtiene el atributo del elemento llamado *key*." #: ../Doc/library/xml.etree.elementtree.rst:916 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" +"Retorna el valor del atributo, o *default* si el atributo no fue encontrado." #: ../Doc/library/xml.etree.elementtree.rst:921 msgid "" "Returns the element attributes as a sequence of (name, value) pairs. The " "attributes are returned in an arbitrary order." msgstr "" +"Retorna los atributos del elemento como una secuencia de pares (nombre, " +"valor). Los atributos se retornan en un orden arbitrario." #: ../Doc/library/xml.etree.elementtree.rst:927 msgid "" "Returns the elements attribute names as a list. The names are returned in " "an arbitrary order." msgstr "" +"Retorna los nombres de los atributos de los elementos como una lista. Los " +"nombres se retornan en un orden arbitrario." #: ../Doc/library/xml.etree.elementtree.rst:933 msgid "Set the attribute *key* on the element to *value*." -msgstr "" +msgstr "Establecer el atributo *key* en el elemento a *value*." #: ../Doc/library/xml.etree.elementtree.rst:935 msgid "The following methods work on the element's children (subelements)." msgstr "" +"Los siguientes métodos actúan sobre los hijos del elemento (sub-elementos)." #: ../Doc/library/xml.etree.elementtree.rst:940 msgid "" @@ -973,12 +1357,17 @@ msgid "" "subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" "`Element`." msgstr "" +"Añade el elemento *subelement* al final de la lista interna de sub-elementos " +"de este elemento. Lanza :exc:`TypeError` si *subelement* no es un :class:" +"`Element`." #: ../Doc/library/xml.etree.elementtree.rst:947 msgid "" "Appends *subelements* from a sequence object with zero or more elements. " "Raises :exc:`TypeError` if a subelement is not an :class:`Element`." msgstr "" +"Añade *subelements* de un objeto de secuencia con cero o más elementos. " +"Lanza :exc:`TypeError` si un sub-elemento no es un :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:955 msgid "" @@ -988,6 +1377,12 @@ msgid "" "name. Pass ``''`` as prefix to move all unprefixed tag names in the " "expression into the given namespace." msgstr "" +"Encuentra el primer sub-elemento que coincide con *match*. *match* puede ser " +"un nombre de etiqueta o un :ref:`path `. Retorna una " +"instancia de elemento o ``None``. *namespaces* es un mapeo opcional del " +"prefijo del espacio de nombres al nombre completo. Pasa ``''`` como prefijo " +"para mover todos los nombres de etiquetas sin prefijo en la expresión al " +"espacio de nombres dado." #: ../Doc/library/xml.etree.elementtree.rst:964 msgid "" @@ -997,6 +1392,12 @@ msgid "" "name. Pass ``''`` as prefix to move all unprefixed tag names in the " "expression into the given namespace." msgstr "" +"Encuentra todos los sub-elementos coincidentes, por nombre de etiqueta o :" +"ref:`path `. Retorna una lista que contiene todos los " +"elementos coincidentes en el orden del documento. *namespaces* es un mapeo " +"opcional del prefijo del espacio de nombres al nombre completo. Pasa ``''`` " +"como prefijo para mover todos los nombres de etiquetas sin prefijo en la " +"expresión al espacio de nombres dado." #: ../Doc/library/xml.etree.elementtree.rst:973 msgid "" @@ -1008,12 +1409,22 @@ msgid "" "Pass ``''`` as prefix to move all unprefixed tag names in the expression " "into the given namespace." msgstr "" +"Busca el texto del primer sub-elemento que coincida con *match*. *match* " +"puede ser un nombre de etiqueta o un :ref:`path `. " +"Retorna el contenido del texto del primer elemento que coincida, o *default* " +"si no se encuentra ningún elemento. Tenga en cuenta que si el elemento " +"coincidente no tiene contenido de texto se devuelve una cadena vacía. " +"*namespaces* es un mapeo opcional del prefijo del espacio de nombres al " +"nombre completo. Pasa ``''`` como prefijo para mover todos los nombres de " +"etiquetas sin prefijo en la expresión al espacio de nombres dado." #: ../Doc/library/xml.etree.elementtree.rst:984 msgid "" "Inserts *subelement* at the given position in this element. Raises :exc:" "`TypeError` if *subelement* is not an :class:`Element`." msgstr "" +"Inserta *subelement* en la posición dada en este elemento. Lanza :exc:" +"`TypeError` si *subelement* no es un :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:990 msgid "" @@ -1023,6 +1434,12 @@ msgid "" "whose tag equals *tag* are returned from the iterator. If the tree " "structure is modified during iteration, the result is undefined." msgstr "" +"Crea un árbol :term:`iterator` con el elemento actual como raíz. El iterador " +"itera sobre este elemento y todos los elementos por debajo de él, en el " +"orden del documento (profundidad primero). Si *tag* no es ``None`` o " +"``'*'``, sólo los elementos cuya etiqueta es igual a *tag* son retornados " +"por el iterador. Si la estructura del árbol se modifica durante la " +"iteración, el resultado es indefinido." #: ../Doc/library/xml.etree.elementtree.rst:1001 msgid "" @@ -1031,18 +1448,27 @@ msgid "" "order. *namespaces* is an optional mapping from namespace prefix to full " "name." msgstr "" +"Encuentra todos los subelementos que coinciden, por nombre de etiqueta o :" +"ref:`ruta `. Retorna un iterable con todos los elementos " +"coincidentes en el orden del documento. *namespaces* es un mapeo opcional " +"del prefijo del espacio de nombres al nombre completo." #: ../Doc/library/xml.etree.elementtree.rst:1012 msgid "" "Creates a text iterator. The iterator loops over this element and all " "subelements, in document order, and returns all inner text." msgstr "" +"Crea un iterador de texto. El iterador hace un bucle sobre este elemento y " +"todos los subelementos, en el orden del documento, y retorna todo el texto " +"interior." #: ../Doc/library/xml.etree.elementtree.rst:1020 msgid "" "Creates a new element object of the same type as this element. Do not call " "this method, use the :func:`SubElement` factory function instead." msgstr "" +"Crea un nuevo objeto elemento del mismo tipo que este elemento. No llame a " +"este método, utilice la función de fábrica :func:`SubElement` en su lugar." #: ../Doc/library/xml.etree.elementtree.rst:1026 msgid "" @@ -1050,6 +1476,9 @@ msgid "" "method compares elements based on the instance identity, not on tag value or " "contents." msgstr "" +"Elimina el *subelement* del elemento. A diferencia de los métodos find\\*, " +"este método compara los elementos basándose en la identidad de la instancia, " +"no en el valor de la etiqueta o el contenido." #: ../Doc/library/xml.etree.elementtree.rst:1030 msgid "" @@ -1057,6 +1486,9 @@ msgid "" "for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." "__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." msgstr "" +"Los objetos :class:`Element` también soportan los siguientes métodos de tipo " +"secuencia para trabajar con subelementos: :meth:`~object.__delitem__`, :meth:" +"`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." #: ../Doc/library/xml.etree.elementtree.rst:1035 msgid "" @@ -1064,6 +1496,9 @@ msgid "" "will change in future versions. Use specific ``len(elem)`` or ``elem is " "None`` test instead. ::" msgstr "" +"Precaución: Los elementos que no tengan subelementos serán evaluados como " +"``False``. Este comportamiento cambiará en futuras versiones. Utilizar en su " +"lugar el test específico ``len(elem)`` o ``elem is None``. ::" #: ../Doc/library/xml.etree.elementtree.rst:1047 msgid "" @@ -1073,6 +1508,12 @@ msgid "" "reordering was removed in Python 3.8 to preserve the order in which " "attributes were originally parsed or created by user code." msgstr "" +"Antes de Python 3.8, el orden de serialización de los atributos XML de los " +"elementos se hacía predecible artificialmente ordenando los atributos por su " +"nombre. Basado en el ordenamiento -ahora garantizado- de los diccionarios, " +"este reordenamiento arbitrario fue eliminado en Python 3.8 para preservar el " +"orden en que los atributos fueron originalmente analizados o creados por el " +"código del usuario." #: ../Doc/library/xml.etree.elementtree.rst:1053 msgid "" @@ -1084,6 +1525,14 @@ msgid "" "signing or test data sets, canonical serialisation is available with the :" "func:`canonicalize` function." msgstr "" +"En general, el código del usuario debería intentar no depender de un orden " +"específico de los atributos, dado que el `XML Information Set `_ excluye explícitamente el orden de los atributos " +"para transmitir información. El código debe estar preparado para hacer " +"frente a cualquier orden en la entrada. En los casos en los que se requiere " +"una salida XML determinista, por ejemplo, para la firma criptográfica o los " +"conjuntos de datos de prueba, la serialización canónica está disponible con " +"la función :func:`canonicalize`." #: ../Doc/library/xml.etree.elementtree.rst:1061 msgid "" @@ -1094,10 +1543,17 @@ msgid "" "like the following can be applied prior to serialisation to enforce an order " "independently from the Element creation::" msgstr "" +"En los casos en los que la salida canónica no es aplicable, pero un orden de " +"atributos específico sigue siendo deseable en la salida, el código debe " +"tratar de crear los atributos directamente en el orden deseado, para evitar " +"desajustes perceptivos para los lectores del código. En los casos en que " +"esto es difícil de lograr, una receta como la siguiente se puede aplicar " +"antes de la serialización para hacer cumplir un orden independientemente de " +"la creación de elementos::" #: ../Doc/library/xml.etree.elementtree.rst:1081 msgid "ElementTree Objects" -msgstr "" +msgstr "Objetos ElementTree" #: ../Doc/library/xml.etree.elementtree.rst:1086 msgid "" @@ -1105,12 +1561,17 @@ msgid "" "hierarchy, and adds some extra support for serialization to and from " "standard XML." msgstr "" +"Clase envoltorio de un ElementTree. Esta clase representa una jerarquía de " +"elementos completa, y añade algún soporte extra para la serialización hacia " +"y desde XML estándar." #: ../Doc/library/xml.etree.elementtree.rst:1090 msgid "" "*element* is the root element. The tree is initialized with the contents of " "the XML *file* if given." msgstr "" +"*element* es el elemento raíz. El árbol se inicializa con el contenido del " +"*file* XML si se da." #: ../Doc/library/xml.etree.elementtree.rst:1096 msgid "" @@ -1118,22 +1579,25 @@ msgid "" "of the tree, and replaces it with the given element. Use with care. " "*element* is an element instance." msgstr "" +"Reemplaza el elemento raíz de este árbol. Esto descarta el contenido actual " +"del árbol, y lo reemplaza con el elemento dado. Utilícelo con cuidado. " +"*element* es una instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:1103 msgid "Same as :meth:`Element.find`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.find`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1108 msgid "Same as :meth:`Element.findall`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.findall`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1113 msgid "Same as :meth:`Element.findtext`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.findtext`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1118 msgid "Returns the root element for this tree." -msgstr "" +msgstr "Retorna el elemento raíz de este árbol." #: ../Doc/library/xml.etree.elementtree.rst:1123 msgid "" @@ -1141,10 +1605,13 @@ msgid "" "loops over all elements in this tree, in section order. *tag* is the tag to " "look for (default is to return all elements)." msgstr "" +"Crea y retorna un iterador de árbol para el elemento raíz. El iterador " +"recorre todos los elementos de este árbol, en orden de sección. *tag* es la " +"etiqueta a buscar (por defecto devuelve todos los elementos)." #: ../Doc/library/xml.etree.elementtree.rst:1130 msgid "Same as :meth:`Element.iterfind`, starting at the root of the tree." -msgstr "" +msgstr "Igual que :meth:`Element.iterfind`, empezando por la raíz del árbol." #: ../Doc/library/xml.etree.elementtree.rst:1137 msgid "" @@ -1153,6 +1620,10 @@ msgid "" "not given, the standard :class:`XMLParser` parser is used. Returns the " "section root element." msgstr "" +"Carga una sección XML externa en este árbol de elementos. *source* es un " +"nombre de archivo o un :term:`file object`. *parser* es una instancia " +"opcional del analizador. Si no se da, se utiliza el analizador estándar :" +"class:`XMLParser`. Retorna el elemento raíz de la sección." #: ../Doc/library/xml.etree.elementtree.rst:1147 msgid "" @@ -1168,6 +1639,17 @@ msgid "" "default), they are emitted as a single self-closed tag, otherwise they are " "emitted as a pair of start/end tags." msgstr "" +"Escribe el árbol de elementos en un archivo, como XML. *file* es un nombre " +"de archivo, o un :term:`file object` abierto para escritura. *encoding* [1]_ " +"es la codificación de salida (por defecto es US-ASCII). *xml_declaration* " +"controla si se debe añadir una declaración XML al archivo. Utilice ``False`` " +"para nunca, ``True`` para siempre, ``None`` para sólo si no es US-ASCII o " +"UTF-8 o Unicode (por defecto es ``None``). *default_namespace* establece el " +"espacio de nombres XML por defecto (para \"xmlns\"). *method* es ``\"xml" +"\"``, ``\"html\"`` o ``\"text\"`` (por defecto es ``\"xml\"``). El parámetro " +"*short_empty_elements* controla el formato de los elementos sin contenido. " +"Si es ``True`` (por defecto), se emiten como una sola etiqueta autocerrada, " +"de lo contrario se emiten como un par de etiquetas de inicio/fin." #: ../Doc/library/xml.etree.elementtree.rst:1161 msgid "" @@ -1177,26 +1659,36 @@ msgid "" "conflict with the type of *file* if it's an open :term:`file object`; make " "sure you do not try to write a string to a binary stream and vice versa." msgstr "" +"La salida es una cadena de caracteres (:class:`str`) o binaria (:class:" +"`bytes`). Esto es controlado por el argumento *encoding*. Si *encoding* es " +"``unicode``, la salida es una cadena de caracteres; en caso contrario, es " +"binaria. Tenga en cuenta que esto puede entrar en conflicto con el tipo de " +"*file* si es un :term:`file object` abierto; asegúrese de no intentar " +"escribir una cadena en un flujo binario y viceversa." #: ../Doc/library/xml.etree.elementtree.rst:1171 msgid "" "The :meth:`write` method now preserves the attribute order specified by the " "user." msgstr "" +"El método :meth:`write` ahora conserva el orden de los atributos " +"especificado por el usuario." #: ../Doc/library/xml.etree.elementtree.rst:1176 msgid "This is the XML file that is going to be manipulated::" -msgstr "" +msgstr "Este es el archivo XML que será manipulado::" #: ../Doc/library/xml.etree.elementtree.rst:1188 msgid "" "Example of changing the attribute \"target\" of every link in first " "paragraph::" msgstr "" +"Ejemplo de cambio del atributo \"target\" de cada enlace en el primer " +"párrafo::" #: ../Doc/library/xml.etree.elementtree.rst:1207 msgid "QName Objects" -msgstr "" +msgstr "Objetos QName" #: ../Doc/library/xml.etree.elementtree.rst:1212 msgid "" @@ -1207,10 +1699,17 @@ msgid "" "interpreted as a URI, and this argument is interpreted as a local name. :" "class:`QName` instances are opaque." msgstr "" +"QName wrapper. Se puede utilizar para envolver un valor de atributo QName, " +"con el fin de obtener un manejo adecuado del espacio de nombres en la " +"salida. *text_or_uri* es una cadena de caracteres que contiene el valor " +"QName, en la forma {uri}local, o, si se da el argumento tag, la parte URI de " +"un QName. Si se da *tag*, el primer argumento se interpreta como un URI, y " +"este argumento se interpreta como un nombre local. Las instancias de :class:" +"`QName` son opacas." #: ../Doc/library/xml.etree.elementtree.rst:1224 msgid "TreeBuilder Objects" -msgstr "" +msgstr "Objetos TreeBuilder" #: ../Doc/library/xml.etree.elementtree.rst:1230 msgid "" @@ -1219,6 +1718,11 @@ msgid "" "structure. You can use this class to build an element structure using a " "custom XML parser, or a parser for some other XML-like format." msgstr "" +"Constructor genérico de estructuras de elementos. Este constructor convierte " +"una secuencia de llamadas a los métodos start, data, end, comment y pi en " +"una estructura de elementos bien formada. Puedes utilizar esta clase para " +"construir una estructura de elementos utilizando un analizador XML " +"personalizado, o un analizador para algún otro formato similar a XML." #: ../Doc/library/xml.etree.elementtree.rst:1235 msgid "" @@ -1226,6 +1730,9 @@ msgid "" "arguments: a tag and a dict of attributes. It is expected to return a new " "element instance." msgstr "" +"*element_factory*, cuando se da, debe ser un callable que acepta dos " +"argumentos posicionales: una etiqueta y un diccionario de atributos. Se " +"espera que retorne una nueva instancia de elemento." #: ../Doc/library/xml.etree.elementtree.rst:1239 msgid "" @@ -1236,48 +1743,70 @@ msgid "" "comments/pis will be inserted into the tree if they appear within the root " "element (but not outside of it)." msgstr "" +"Las funciones *comment_factory* y *pi_factory*, cuando se dan, deben " +"comportarse como las funciones :func:`Comment` y :func:" +"`ProcessingInstruction` para crear comentarios e instrucciones de " +"procesamiento. Si no se dan, se utilizarán las fábricas por defecto. Cuando " +"*insert_comments* y/o *insert_pis* es verdadero, los comentarios/pis se " +"insertarán en el árbol si aparecen dentro del elemento raíz (pero no fuera " +"de él)." #: ../Doc/library/xml.etree.elementtree.rst:1248 msgid "" "Flushes the builder buffers, and returns the toplevel document element. " "Returns an :class:`Element` instance." msgstr "" +"Vacía los buffers del constructor y retorna el elemento del documento de " +"nivel superior. Retorna una instancia de :class:`Element`." #: ../Doc/library/xml.etree.elementtree.rst:1254 msgid "" "Adds text to the current element. *data* is a string. This should be " "either a bytestring, or a Unicode string." msgstr "" +"Añade texto al elemento actual. *data* es una cadena. Debe ser una cadena de " +"bytes o una cadena Unicode." #: ../Doc/library/xml.etree.elementtree.rst:1260 msgid "" "Closes the current element. *tag* is the element name. Returns the closed " "element." msgstr "" +"Cierra el elemento actual. *tag* es el nombre del elemento. Retorna el " +"elemento cerrado." #: ../Doc/library/xml.etree.elementtree.rst:1266 msgid "" "Opens a new element. *tag* is the element name. *attrs* is a dictionary " "containing element attributes. Returns the opened element." msgstr "" +"Abre un nuevo elemento. *tag* es el nombre del elemento. *attrs* es un " +"diccionario que contiene los atributos del elemento. Retorna el elemento " +"abierto." #: ../Doc/library/xml.etree.elementtree.rst:1272 msgid "" "Creates a comment with the given *text*. If ``insert_comments`` is true, " "this will also add it to the tree." msgstr "" +"Crea un comentario con el *texto* dado. Si ``insert_comments`` es verdadero, " +"esto también lo añadirá al árbol." #: ../Doc/library/xml.etree.elementtree.rst:1280 msgid "" "Creates a comment with the given *target* name and *text*. If " "``insert_pis`` is true, this will also add it to the tree." msgstr "" +"Crea un comentario con el nombre *target* y el *texto* dados. Si " +"``insert_pis`` es verdadero, esto también lo añadirá al árbol." #: ../Doc/library/xml.etree.elementtree.rst:1286 msgid "" "In addition, a custom :class:`TreeBuilder` object can provide the following " "methods:" msgstr "" +"Además, un objeto :class:`TreeBuilder` personalizado puede proporcionar los " +"siguientes métodos:" #: ../Doc/library/xml.etree.elementtree.rst:1291 msgid "" @@ -1285,6 +1814,9 @@ msgid "" "public identifier. *system* is the system identifier. This method does not " "exist on the default :class:`TreeBuilder` class." msgstr "" +"Maneja una declaración de doctype. *name* es el nombre del doctype. *pubid* " +"es el identificador público. *system* es el identificador del sistema. Este " +"método no existe en la clase por defecto :class:`TreeBuilder`." #: ../Doc/library/xml.etree.elementtree.rst:1299 msgid "" @@ -1293,6 +1825,11 @@ msgid "" "is ``''`` for the default namespace and the declared namespace prefix name " "otherwise. *uri* is the namespace URI." msgstr "" +"Se llama cada vez que el analizador encuentra una nueva declaración de " +"espacio de nombres, antes de la llamada de retorno ``start()`` para el " +"elemento de apertura que lo define. *prefix* es ``''`` para el espacio de " +"nombres por defecto y el nombre del prefijo del espacio de nombres declarado " +"en caso contrario. *uri* es el URI del espacio de nombres." #: ../Doc/library/xml.etree.elementtree.rst:1308 msgid "" @@ -1300,6 +1837,9 @@ msgid "" "namespace prefix mapping, with the name of the *prefix* that went out of " "scope." msgstr "" +"Se llama después de la llamada de retorno ``end()`` de un elemento que " +"declaró un mapeo de prefijo de espacio de nombres, con el nombre del " +"*prefijo* que salió del ámbito." #: ../Doc/library/xml.etree.elementtree.rst:1320 msgid "" @@ -1308,10 +1848,14 @@ msgid "" "tree but translates the callback events directly into a serialised form " "using the *write* function." msgstr "" +"Un escritor `C14N 2.0 `_. Los argumentos " +"son los mismos que para la función :func:`canonicalize`. Esta clase no " +"construye un árbol, sino que traduce los eventos de devolución de llamada " +"directamente a una forma serializada utilizando la función *write*." #: ../Doc/library/xml.etree.elementtree.rst:1331 msgid "XMLParser Objects" -msgstr "" +msgstr "Objetos XMLParser" #: ../Doc/library/xml.etree.elementtree.rst:1336 msgid "" @@ -1323,12 +1867,21 @@ msgid "" "*encoding* [1]_ is given, the value overrides the encoding specified in the " "XML file." msgstr "" +"Esta clase es el bloque de construcción de bajo nivel del módulo. Utiliza :" +"mod:`xml.parsers.expat` para un análisis eficiente de XML basado en eventos. " +"Puede ser alimentada con datos XML de forma incremental con el método :meth:" +"`feed`, y los eventos de análisis se traducen en una API push - invocando " +"callbacks en el objeto *target*. Si se omite *target*, se utiliza la clase " +"estándar :class:`TreeBuilder`. Si se da *encoding* [1]_, el valor anula la " +"codificación especificada en el archivo XML." #: ../Doc/library/xml.etree.elementtree.rst:1344 msgid "" "Parameters are now :ref:`keyword-only `. The *html* " "argument no longer supported." msgstr "" +"Los parámetros son ahora :ref:`keyword-only `. El " +"argumento *html* ya no se admite." #: ../Doc/library/xml.etree.elementtree.rst:1351 msgid "" @@ -1336,10 +1889,15 @@ msgid "" "``close()`` method of the *target* passed during construction; by default, " "this is the toplevel document element." msgstr "" +"Finaliza la alimentación de datos al analizador. Retorna el resultado de " +"llamar al método ``close()`` del *target* pasado durante la construcción; " +"por defecto, es el elemento del documento de nivel superior." #: ../Doc/library/xml.etree.elementtree.rst:1358 msgid "Feeds data to the parser. *data* is encoded data." msgstr "" +"Introduce los datos en el analizador sintáctico. *data* son datos " +"codificados." #: ../Doc/library/xml.etree.elementtree.rst:1360 msgid "" @@ -1351,10 +1909,18 @@ msgid "" "building a tree structure. This is an example of counting the maximum depth " "of an XML file::" msgstr "" +":meth:`XMLParser.feed` llama al método ``start(tag, attrs_dict)`` de " +"*target* para cada etiqueta de apertura, a su método ``end(tag)`` para cada " +"etiqueta de cierre, y los datos son procesados por el método ``data(data)``. " +"Para más métodos de callback soportados, véase la clase :class:" +"`TreeBuilder`. :meth:`XMLParser.close` llama al método ``close()`` de " +"*target*. :class:`XMLParser` puede utilizarse no sólo para construir una " +"estructura de árbol. Este es un ejemplo de contar la profundidad máxima de " +"un archivo XML::" #: ../Doc/library/xml.etree.elementtree.rst:1404 msgid "XMLPullParser Objects" -msgstr "" +msgstr "Objetos XMLPullParser" #: ../Doc/library/xml.etree.elementtree.rst:1408 msgid "" @@ -1367,10 +1933,19 @@ msgid "" "\"ns\" events are used to get detailed namespace information). If *events* " "is omitted, only ``\"end\"`` events are reported." msgstr "" +"Un analizador sintáctico pull adecuado para aplicaciones no bloqueantes. Su " +"API de entrada es similar a la de :class:`XMLParser`, pero en lugar de " +"enviar llamadas a un objetivo de devolución de llamada, :class:" +"`XMLPullParser` recoge una lista interna de eventos de análisis y permite al " +"usuario leer de ella. *events* son una secuencia de eventos a reportar. Los " +"eventos soportados son las cadenas ``\"start\"``, ``\"end\"``, ``\"comment" +"\"``, ``\"pi\"``, ``\"start-ns\"`` y ``\"end-ns\"`` (los eventos \"ns\" se " +"utilizan para obtener información detallada del espacio de nombres). Si se " +"omite *events*, sólo se informará de los eventos ``\"end\"``." #: ../Doc/library/xml.etree.elementtree.rst:1419 msgid "Feed the given bytes data to the parser." -msgstr "" +msgstr "Introduce los datos de los bytes dados en el analizador." #: ../Doc/library/xml.etree.elementtree.rst:1423 msgid "" @@ -1379,6 +1954,10 @@ msgid "" "yet retrieved when the parser is closed can still be read with :meth:" "`read_events`." msgstr "" +"Señala al analizador que el flujo de datos ha terminado. A diferencia de :" +"meth:`XMLParser.close`, este método siempre retorna :const:`None`. Cualquier " +"evento que no haya sido recuperado cuando el analizador se cierra puede ser " +"leído con :meth:`read_events`." #: ../Doc/library/xml.etree.elementtree.rst:1430 msgid "" @@ -1388,24 +1967,32 @@ msgid "" "*elem* is the encountered :class:`Element` object, or other context value as " "follows." msgstr "" +"Retorna un iterador sobre los eventos que se han encontrado en los datos " +"alimentados al analizador. El iterador retorna pares ``(event, elem)``, " +"donde *event* es una cadena de caracteres que representa el tipo de evento " +"(por ejemplo, ``\"fin\"``) y *elem* es el objeto :class:`Element` " +"encontrado, u otro valor de contexto como el siguiente." #: ../Doc/library/xml.etree.elementtree.rst:1436 msgid "``start``, ``end``: the current Element." -msgstr "" +msgstr "``start``, ``end``: el Element actual." #: ../Doc/library/xml.etree.elementtree.rst:1437 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" +"``comment``, ``pi``: el comentario / la instrucción de procesamiento actual" #: ../Doc/library/xml.etree.elementtree.rst:1438 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" +"``start-ns``: una tupla ``(prefix, uri)`` que nombra el mapeo del espacio de " +"nombres declarado." #: ../Doc/library/xml.etree.elementtree.rst:1440 msgid "``end-ns``: :const:`None` (this may change in a future version)" -msgstr "" +msgstr "``end-ns``: :const:`None` (esto puede cambiar en una versión futura)" #: ../Doc/library/xml.etree.elementtree.rst:1442 msgid "" @@ -1415,6 +2002,11 @@ msgid "" "over iterators obtained from :meth:`read_events` will have unpredictable " "results." msgstr "" +"Los eventos proporcionados en una llamada anterior a :meth:`read_events` no " +"serán retornados nuevamente. Los eventos se consumen de la cola interna sólo " +"cuando se recuperan del iterador, por lo que múltiples lectores iterando en " +"paralelo sobre iteradores obtenidos de :meth:`read_events` tendrán " +"resultados impredecibles." #: ../Doc/library/xml.etree.elementtree.rst:1450 msgid "" @@ -1424,10 +2016,15 @@ msgid "" "that point. The same applies to the element children; they may or may not " "be present." msgstr "" +":class:`XMLPullParser` sólo garantiza que ha visto el carácter \">\" de una " +"etiqueta de inicio cuando emite un evento \"start\", por lo que los " +"atributos están definidos, pero el contenido de los atributos text y tail " +"está indefinido en ese momento. Lo mismo ocurre con los hijos del elemento; " +"pueden estar presentes o no." #: ../Doc/library/xml.etree.elementtree.rst:1465 msgid "Exceptions" -msgstr "" +msgstr "Excepciones" #: ../Doc/library/xml.etree.elementtree.rst:1469 msgid "" @@ -1436,21 +2033,30 @@ msgid "" "will contain a user-friendly error message. In addition, it will have the " "following attributes available:" msgstr "" +"Error de análisis de XML, lanzado por los distintos métodos de análisis de " +"este módulo cuando el análisis falla. La representación en cadena de " +"caracteres de una instancia de esta excepción contendrá un mensaje de error " +"fácil de entender. Además, tendrá los siguientes atributos disponibles:" #: ../Doc/library/xml.etree.elementtree.rst:1476 msgid "" "A numeric error code from the expat parser. See the documentation of :mod:" "`xml.parsers.expat` for the list of error codes and their meanings." msgstr "" +"Un código de error numérico del analizador sintáctico expat. Consulte la " +"documentación de :mod:`xml.parsers.expat` para ver la lista de códigos de " +"error y sus significados." #: ../Doc/library/xml.etree.elementtree.rst:1481 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" +"Una tupla de números de *line*, *column*, que especifica dónde se produjo el " +"error." #: ../Doc/library/xml.etree.elementtree.rst:1484 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie de página" #: ../Doc/library/xml.etree.elementtree.rst:1485 msgid "" @@ -1459,3 +2065,8 @@ msgid "" "https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://" "www.iana.org/assignments/character-sets/character-sets.xhtml." msgstr "" +"La cadena de caracteres de codificación incluida en la salida XML debe " +"ajustarse a los estándares adecuados. Por ejemplo, \"UTF-8\" es válido, pero " +"\"UTF8\" no lo es. Consulte https://www.w3.org/TR/2006/REC-xml11-20060816/" +"#NT-EncodingDecl y https://www.iana.org/assignments/character-sets/character-" +"sets.xhtml." diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index 660ef62630..fa52e295a1 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -116,7 +116,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:96 ../Doc/library/xml.sax.handler.rst:106 #: ../Doc/library/xml.sax.handler.rst:138 msgid "access: (parsing) read-only; (not parsing) read/write" -msgstr "access: (parsing) sólo de lectura; (not parsing) lectura/escritura" +msgstr "acceso: (parsing) sólo de lectura; (not parsing) lectura/escritura" #: ../Doc/library/xml.sax.handler.rst:65 msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``" @@ -229,7 +229,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:120 #: ../Doc/library/xml.sax.handler.rst:129 msgid "access: read/write" -msgstr "access: read/write (leer/escribir)" +msgstr "acceso: read/write (leer/escribir)" #: ../Doc/library/xml.sax.handler.rst:125 msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" @@ -281,7 +281,7 @@ msgstr "" #: ../Doc/library/xml.sax.handler.rst:147 msgid "access: read-only" -msgstr "accesso: solo-lectura" +msgstr "acceso: solo-lectura" #: ../Doc/library/xml.sax.handler.rst:152 msgid "List of all known property names." diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 8dcdf71fbf..99cdade34a 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -11,16 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-11-21 20:32-0300\n" +"PO-Revision-Date: 2021-08-03 11:13+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Last-Translator: Emmanuel Arias \n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/library/xmlrpc.client.rst:2 msgid ":mod:`xmlrpc.client` --- XML-RPC client access" @@ -596,16 +596,16 @@ msgstr "" "Escribe la codificación XML-RPC base 64 de este elemento binario en el " "objeto de flujo *out*." +# Se hizo una excepción para que :rfc:`...` comience por números y no genere un error #: ../Doc/library/xmlrpc.client.rst:336 -#, fuzzy msgid "" "The encoded data will have newlines every 76 characters as per :rfc:`RFC " "2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 " "specification when the XML-RPC spec was written." msgstr "" -"Los datos codificados tendrán líneas nuevas cada 76 caracteres según :rfc:" -"`RFC 2045 section 6.8 <2045#section-6.8>`, que era la especificación " -"estándar de facto base64 cuando se escribió la especificación XML-RPC." +"Los datos codificados tendrán líneas nuevas cada 76 caracteres según RFC " +"2045 sección 6.8 :rfc:`2045#section-6.8`, que era la especificación estándar " +"de facto base64 cuando se escribió la especificación XML-RPC." #: ../Doc/library/xmlrpc.client.rst:341 msgid "" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 2e62aa609f..b454375fb4 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -334,7 +334,7 @@ msgstr "" "parámetros de la solicitud; el valor de retorno se devuelve al cliente como " "resultado. Si la instancia no tiene un método :meth:`_dispatch`, se busca un " "atributo que coincida con el nombre del método solicitado; si el nombre del " -"método contiene púntos, cada componente del nombre del método se busca " +"método contiene puntos, cada componente del nombre del método se busca " "individualmente, con el efecto con el efecto que produce una búsqueda " "jerárquica simple. El valor encontrado en esta búsqueda es entonces llamado " "con los parámetros de la solicitud y el valor de retorno se devuelve al " diff --git a/library/zipapp.po b/library/zipapp.po index 770fa81787..ef9e00e4c7 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -306,7 +306,7 @@ msgid "" "If a file object is specified for *source* or *target*, it is the caller's " "responsibility to close it after calling create_archive." msgstr "" -"Si se especifica un objeto archivo para *source* o * target*, es " +"Si se especifica un objeto archivo para *source* o *target*, es " "responsabilidad de quien invoca cerrarlo luego de invocar a create_archive." #: ../Doc/library/zipapp.rst:168 diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index a5e1a9c83f..ba6b80da20 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-05 14:52-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:34+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -292,7 +293,6 @@ msgstr "" "código de limpieza para un grupo de sentencias:" #: ../Doc/reference/compound_stmts.rst:248 -#, fuzzy msgid "" "The :keyword:`except` clause(s) specify one or more exception handlers. When " "no exception occurs in the :keyword:`try` clause, no exception handler is " @@ -307,18 +307,19 @@ msgid "" "tuple containing an item that is the class or a base class of the exception " "object." msgstr "" -"La/s cláusula/s :keyword:`except` especifican uno o más gestores de " -"excepciones. Cuando no se produce ninguna excepción en la cláusula :keyword:" -"`try`, no se ejecuta ningún gestor de excepción. Cuando se produce una " -"excepción en la suite :keyword:`!try`, se inicia la búsqueda de un gestor de " -"excepciones. Esta búsqueda inspecciona las cláusulas ``except`` por turno " -"hasta que se encuentre una que coincida con la excepción. Una cláusula " -"excepción sin una expresión, si está presente, debe ser la última; coincide " -"con cualquier excepción. Para una cláusula ``except`` con una expresión, esa " +"Las cláusulas :keyword:`except` especifican uno o más manejadores de " +"excepciones. Cuando no ocurre ninguna excepción en la palabra clave :keyword:" +"`try`, no se ejecuta ningún controlador de excepciones. Cuando ocurre una " +"excepción en la suite :keyword:`!try`, se inicia una búsqueda de un " +"manejador de excepciones. Esta búsqueda inspecciona las cláusulas except a " +"su vez hasta encontrar una que coincida con la excepción. Una cláusula " +"except sin expresión, si está presente, debe ser la última; coincide con " +"cualquier excepción. Para una cláusula except con una expresión, esa " "expresión se evalúa y la cláusula coincide con la excepción si el objeto " "resultante es \"compatible\" con la excepción. Un objeto es compatible con " -"una excepción si es la clase o una clase base del objeto de excepción o una " -"tupla que contiene un elemento compatible con la excepción." +"una excepción si es la clase o una clase base del objeto de excepción, o una " +"tupla que contiene un elemento que es la clase o una clase base del objeto " +"de excepción." #: ../Doc/reference/compound_stmts.rst:260 msgid "" @@ -714,6 +715,9 @@ msgid "" "Previously, the grammar was much more restrictive; see :pep:`614` for " "details." msgstr "" +"Las funciones se pueden decorar con cualquier token válido :token:" +"`assignment_expression`. Anteriormente, la gramática era mucho más " +"restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:565 msgid "" @@ -982,6 +986,9 @@ msgid "" "Previously, the grammar was much more restrictive; see :pep:`614` for " "details." msgstr "" +"Las clases se pueden decorar con cualquier token válido :token:" +"`assignment_expression`. Anteriormente, la gramática era mucho más " +"restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:732 msgid "" @@ -1078,18 +1085,16 @@ msgid "The :keyword:`!async for` statement" msgstr "La sentencia :keyword:`!async for`" #: ../Doc/reference/compound_stmts.rst:803 -#, fuzzy msgid "" "An :term:`asynchronous iterable` provides an ``__aiter__`` method that " "directly returns an :term:`asynchronous iterator`, which can call " "asynchronous code in its ``__anext__`` method." msgstr "" -"Un :term:`asynchronous iterable` es capaz de llamar código asincrónico en su " -"implementación *iter*, y :term:`asynchronous iterator` puede llamar a código " -"asincrónico en su método *next*." +"Un :term:`asynchronous iterable` proporciona un método ``__aiter__`` que " +"retorna directamente un :term:`asynchronous iterator`, que puede llamar a " +"código asincrónico en su método ``__anext__``." #: ../Doc/reference/compound_stmts.rst:807 -#, fuzzy msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " "iterables." diff --git a/reference/datamodel.po b/reference/datamodel.po index f393d3ffeb..c79048d305 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-03-19 22:57+0100\n" +"PO-Revision-Date: 2021-08-02 19:35+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/datamodel.rst:6 msgid "Data model" @@ -270,7 +270,6 @@ msgid "NotImplemented" msgstr "NotImplemented" #: ../Doc/reference/datamodel.rst:155 -#, fuzzy msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name ``NotImplemented``. " @@ -280,11 +279,12 @@ msgid "" "the operator.) It should not be evaluated in a boolean context." msgstr "" "Este tipo tiene un solo valor. Hay un solo objeto con este valor. Se accede " -"a este objeto a través del nombre incorporado ``NotImplemented``. Los " -"métodos numéricos y los métodos de comparación enriquecidos deberían " -"retornar este valor si no implementan la operación para los operandos " -"proporcionados. (El intérprete intentará la operación reflejada, o alguna " -"otra alternativa, dependiendo del operador). Su valor de verdad es verdadero." +"a este objeto a través del nombre integrado ``NotImplemented``. Los métodos " +"numéricos y los métodos de comparación enriquecidos deben devolver este " +"valor si no implementan la operación para los operandos proporcionados. (El " +"intérprete intentará entonces la operación reflejada, o alguna otra " +"alternativa, dependiendo del operador). No debe evaluarse en un contexto " +"booleano." #: ../Doc/reference/datamodel.rst:162 msgid "See :ref:`implementing-the-arithmetic-operations` for more details." @@ -1013,7 +1013,6 @@ msgstr "" "valor asignado." #: ../Doc/reference/datamodel.rst:564 -#, fuzzy msgid "" "Function objects also support getting and setting arbitrary attributes, " "which can be used, for example, to attach metadata to functions. Regular " @@ -1022,13 +1021,13 @@ msgid "" "functions. Function attributes on built-in functions may be supported in the " "future.*" msgstr "" -"Los objetos de función también admiten obtener y establecer atributos " -"arbitrarios, que pueden usarse, por ejemplo, para adjuntar metadatos a " -"funciones. La notación regular de atributo por punto se usa para obtener y " -"establecer tales atributos. *Tenga en cuenta que la implementación actual " -"solo admite atributos de función en funciones definidas por el usuario. Los " -"atributos de función en funciones incorporadas pueden ser compatibles en el " -"futuro.*" +"Los objetos de función también admiten la obtención y configuración de " +"atributos arbitrarios, que se pueden usar, por ejemplo, para adjuntar " +"metadatos a funciones. La notación de puntos de atributo regular se utiliza " +"para obtener y establecer dichos atributos. *Tenga en cuenta que la " +"implementación actual solo admite atributos de función en funciones " +"definidas por el usuario. Los atributos de función en funciones integradas " +"pueden ser compatibles en el futuro.*" #: ../Doc/reference/datamodel.rst:570 msgid "" @@ -2983,7 +2982,7 @@ msgstr "" "El atributo :attr:`__objclass__` es interpretado por el módulo :mod:" "`inspect` como la especificación de la clase donde el objeto fue definido " "(establecer esto adecuadamente puede ayudar en introspección de atributos " -"dinámicos de clases en tiempo de ejecución). Para llamables, puede indicar " +"dinámicos de clases en tiempo de ejecución). Para invocables, puede indicar " "que una instancia de un tipo (o subclase) dado es esperado o requerido como " "el primero argumento posicional (por ejemplo, CPython establece este " "atributo para métodos independientes que son implementados en C)." diff --git a/reference/executionmodel.po b/reference/executionmodel.po index fe04552e5e..bbe864ff0d 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-26 09:14-0300\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:39+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/executionmodel.rst:6 msgid "Execution model" @@ -30,7 +31,6 @@ msgid "Structure of a program" msgstr "Estructura de un programa" #: ../Doc/reference/executionmodel.rst:19 -#, fuzzy msgid "" "A Python program is constructed from code blocks. A :dfn:`block` is a piece " "of Python program text that is executed as a unit. The following are blocks: " @@ -43,17 +43,19 @@ msgid "" "option:`-m` argument is also a code block. The string argument passed to the " "built-in functions :func:`eval` and :func:`exec` is a code block." msgstr "" -"Un programa Python está construido a partir de bloques de código. Un :dfn:" -"`block` es un trozo de texto de un programa Python que se ejecuta como una " -"unidad. Los siguientes son bloques: un módulo, el cuerpo de una función y la " -"definición de una clase. Cada comando ingresado en el intérprete interactivo " -"es un bloque. Un archivo de script (un archivo provisto como entrada " -"estándar al intérprete, o especificado como argumento en la línea de comando " -"al intérprete) es un bloque de código. Un comando de script (un comando " -"especificado en la línea de comandos del intérprete con la opción :option:`-" -"c` es un bloque de código. El argumento cadena de caracteres que se envía a " -"las funciones incorporadas :func:`eval` y :func:`exec` es también un bloque " -"de código." +"Un programa de Python se construye a partir de bloques de código. Un :dfn:" +"`block` es una parte del texto del programa Python que se ejecuta como una " +"unidad. Los siguientes son bloques: un módulo, un cuerpo de función y una " +"definición de clase. Cada comando escrito de forma interactiva es un bloque. " +"Un archivo de secuencia de comandos (un archivo proporcionado como entrada " +"estándar al intérprete o especificado como un argumento de línea de comando " +"para el intérprete) es un bloque de código. Un comando de secuencia de " +"comandos (un comando especificado en la línea de comandos del intérprete con " +"la opción: :option:`-c`) es un bloque de código. Un módulo que se ejecuta " +"como un script de nivel superior (como módulo ``__main__``) desde la línea " +"de comando usando un argumento :option:`-m` también es un bloque de código. " +"El argumento de cadena pasado a las funciones integradas :func:`eval` y :" +"func:`exec` es un bloque de código." #: ../Doc/reference/executionmodel.rst:33 msgid "" @@ -82,9 +84,7 @@ msgstr "" "Los :dfn:`Names` refieren a objetos. Los nombres se introducen por las " "operaciones de vinculación de nombre (*name binding operations*)." -# ¿ target == objetivo ? #: ../Doc/reference/executionmodel.rst:59 -#, fuzzy msgid "" "The following constructs bind names: formal parameters to functions, :" "keyword:`import` statements, class and function definitions (these bind the " @@ -107,14 +107,13 @@ msgstr "" "módulo." #: ../Doc/reference/executionmodel.rst:69 -#, fuzzy msgid "" "A target occurring in a :keyword:`del` statement is also considered bound " "for this purpose (though the actual semantics are to unbind the name)." msgstr "" -"Un objetivo que ocurre en una declaración :keyword:`del` también está " -"considerado como vinculado para este propósito (aunque la semántica real es " -"desvincular el nombre)." +"Un objetivo que aparece en una sentencia :keyword:`del` también se considera " +"vinculado para este propósito (aunque la semántica real es desvincular el " +"nombre)." #: ../Doc/reference/executionmodel.rst:72 msgid "" @@ -168,9 +167,7 @@ msgstr "" "definición, a menos que uno de los bloques contenidos introduzca un vínculo " "diferente para el nombre." -# ¿"the nearest enclosing scope" == "el ámbito que cierre más cerca"? #: ../Doc/reference/executionmodel.rst:101 -#, fuzzy msgid "" "When a name is used in a code block, it is resolved using the nearest " "enclosing scope. The set of all such scopes visible to a code block is " @@ -240,10 +237,7 @@ msgstr "" "namespace*). La declaración :keyword:`!global` debe preceder a todos los " "usos del nombre." -# Tengo dudas con la palabra enclosing en este contexto. Aparece también en -# otras partes del archivo. #: ../Doc/reference/executionmodel.rst:131 -#, fuzzy msgid "" "The :keyword:`global` statement has the same scope as a name binding " "operation in the same block. If the nearest enclosing scope for a free " @@ -255,9 +249,7 @@ msgstr "" "para una variable libre contiene una declaración global, se trata a la " "variable libre como global." -# Otra vez enclosing. #: ../Doc/reference/executionmodel.rst:137 -#, fuzzy msgid "" "The :keyword:`nonlocal` statement causes corresponding names to refer to " "previously bound variables in the nearest enclosing function scope. :exc:" @@ -306,9 +298,8 @@ msgstr "" "lo siguiente fallará::" #: ../Doc/reference/executionmodel.rst:165 -#, fuzzy msgid "Builtins and restricted execution" -msgstr "Módulos incorporados (*builtins*) y ejecución restringida" +msgstr "Integraciones y ejecución restringida" #: ../Doc/reference/executionmodel.rst:171 msgid "" @@ -355,7 +346,6 @@ msgstr "" "42::" #: ../Doc/reference/executionmodel.rst:201 -#, fuzzy msgid "" "The :func:`eval` and :func:`exec` functions do not have access to the full " "environment for resolving names. Names may be resolved in the local and " @@ -365,14 +355,14 @@ msgid "" "global and local namespace. If only one namespace is specified, it is used " "for both." msgstr "" -"Las funciones :func:`eval` y :func:`exec`no tienen acceso al entorno " -"completo para resolver nombres. Los nombres pueden resolverse en el espacio " -"de nombres local y global del código que invoque. Las variables libres no se " -"resuelven en el espacio de nombres de cierre más cercano, sino en el espacio " -"de nombres global. [#]_ Las funciones :func:`exec` y :func:`eval` tienen " -"argumentos opcionales para sobreescribir el espacio de nombres local y " -"global. Si se especifica un solo espacio de nombres, éste se usa para ambas " -"cosas." +"Las funciones :func:`eval` y :func:`exec` no tienen acceso al entorno " +"completo para resolver nombres. Los nombres pueden resolverse en los " +"espacios de nombres locales y globales de la persona que llama. Las " +"variables libres no se resuelven en el espacio de nombres adjunto más " +"cercano, sino en el espacio de nombres global. [#]_ Las funciones :func:" +"`exec` y :func:`eval` tienen argumentos opcionales para anular el espacio de " +"nombres global y local. Si solo se especifica un espacio de nombres, se usa " +"para ambos." #: ../Doc/reference/executionmodel.rst:212 msgid "Exceptions" diff --git a/reference/expressions.po b/reference/expressions.po index fb6675d885..87e1e39320 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-12-06 14:19+0100\n" -"Last-Translator: Álvaro Mondéjar Rubio \n" +"PO-Revision-Date: 2021-08-02 19:31+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/expressions.rst:6 msgid "Expressions" @@ -721,7 +722,6 @@ msgstr "" "ejecución de cualquier cláusula :keyword:`finally` pendiente." #: ../Doc/reference/expressions.rst:479 -#, fuzzy msgid "" "When ``yield from `` is used, the supplied expression must be an " "iterable. The values produced by iterating that iterable are passed directly " @@ -732,15 +732,14 @@ msgid "" "exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` " "will just raise the passed in exception immediately." msgstr "" -"Cuando se usa ``yield from ``, esto trata a la expresión provista como " -"un subiterador. Todos los valores producidos por ese subiterador son pasados " -"directamente al invocador de los métodos del generador actual. Cualquiera de " -"los valores pasados con :meth:`~generator.send` y cualquiera de las " -"excepciones pasadas con :meth:`~generator.throw` son pasados al iterador " -"subyacente si tiene los métodos apropiados. Si este no es el caso, entonces :" -"meth:`~generator.send` generará :exc:`AttributeError` o :exc:`TypeError`, " -"mientras :meth:`~generator.throw` sólo generará inmediatamente la excepción " -"pasada." +"Cuando se usa ``yield from ``, la expresión proporcionada debe ser " +"iterable. Los valores producidos al iterar ese iterable se pasan " +"directamente al llamador de los métodos del generador actual. Cualquier " +"valor pasado con :meth:`~generator.send` y cualquier excepción pasada con :" +"meth:`~generator.throw` se pasan al iterador subyacente si tiene los métodos " +"apropiados. Si este no es el caso, entonces :meth:`~generator.send` " +"generará :exc:`AttributeError` o :exc:`TypeError`, mientras que :meth:" +"`~generator.throw` solo generará la excepción pasada inmediatamente." #: ../Doc/reference/expressions.rst:488 msgid "" @@ -1216,13 +1215,12 @@ msgid "Subscriptions" msgstr "Suscripciones" #: ../Doc/reference/expressions.rst:803 -#, fuzzy msgid "" "Subscription of a sequence (string, tuple or list) or mapping (dictionary) " "object usually selects an item from the collection:" msgstr "" -"Una subscripción selecciona un elemento de una objeto secuencia (cadena de " -"caracteres, tupla o lista) o mapeo (diccionario):" +"La suscripción de una secuencia (cadena, tupla o lista) o un objeto de mapeo " +"(diccionario) generalmente selecciona un elemento de la colección:" #: ../Doc/reference/expressions.rst:809 msgid "" @@ -1300,6 +1298,10 @@ msgid "" "defined classes can support subscription by providing a :meth:" "`__class_getitem__` classmethod." msgstr "" +"La suscripción de ciertos :term:`clases ` o :term:`tipos ` crea " +"un :ref:`alias genérico `. En este caso, las clases " +"definidas por el usuario pueden admitir la suscripción proporcionando un " +"método de clase :meth:`__class_getitem__`." #: ../Doc/reference/expressions.rst:849 msgid "Slicings" @@ -2558,14 +2560,18 @@ msgid "" "\"walrus\") assigns an :token:`expression` to an :token:`identifier`, while " "also returning the value of the :token:`expression`." msgstr "" +"Una expresión de asignación (a veces también llamada \"expresión con nombre" +"\" o \"walrus\") asigna un :token:`expression` a un :token:`identifier`, " +"mientras que también retorna el valor de :token:`expression`." #: ../Doc/reference/expressions.rst:1666 msgid "One common use case is when handling matched regular expressions:" msgstr "" +"Un caso de uso común es cuando se manejan expresiones regulares coincidentes:" #: ../Doc/reference/expressions.rst:1673 msgid "Or, when processing a file stream in chunks:" -msgstr "" +msgstr "O, al procesar un flujo de archivos en fragmentos:" #: ../Doc/reference/expressions.rst:1680 msgid "See :pep:`572` for more details about assignment expressions." @@ -2668,7 +2674,7 @@ msgstr "" "La coma final sólo es requerida para crear una tupla única (también " "denominada un *singleton*); es opcional en todos los otros casos. Una única " "expresión sin una coma final no crea una tupla, si no produce el valor de " -"esa expresion. (Para crear una tupla vacía, usa un par de paréntesis vacío: " +"esa expresión. (Para crear una tupla vacía, usa un par de paréntesis vacío: " "``()``.)" #: ../Doc/reference/expressions.rst:1786 diff --git a/reference/grammar.po b/reference/grammar.po index 0b732bd4f8..c3e0de48ca 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-09-27 23:15+0200\n" +"PO-Revision-Date: 2021-08-02 19:28+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/grammar.rst:2 msgid "Full Grammar specification" @@ -31,6 +32,10 @@ msgid "" "generate the CPython parser (see :source:`Grammar/python.gram`). The version " "here omits details related to code generation and error recovery." msgstr "" +"Esta es la gramática completa de Python, derivada directamente de la " +"gramática utilizada para generar el analizador CPython (ver :source:`Grammar/" +"python.gram`). La versión aquí omite detalles relacionados con la generación " +"de código y la recuperación de errores." #: ../Doc/reference/grammar.rst:9 #, python-format @@ -43,6 +48,14 @@ msgid "" "lookahead (i.e., is required _not_ to match). We use the ``|`` separator to " "mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG grammars)." msgstr "" +"La notación es una mezcla de `EBNF `_ y `PEG `_. En particular, ``&`` seguido de un símbolo, " +"ficha o grupo entre paréntesis indica una anticipación positiva (es decir, " +"se requiere que coincida pero no se consume), mientras que ``!`` Indica una " +"anticipación negativa (es decir, se requiere _no_ para partido). Usamos el " +"separador ``|`` para referirnos a la \"elección ordenada\" de PEG (escrito " +"como ``/`` en las gramáticas tradicionales de PEG)." #~ msgid "" #~ "This is the full Python grammar, as it is read by the parser generator " diff --git a/reference/import.po b/reference/import.po index d941e6a437..7a378057cb 100644 --- a/reference/import.po +++ b/reference/import.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-06-01 08:26-0400\n" -"Last-Translator: @Jighdan\n" +"PO-Revision-Date: 2021-08-02 19:27+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/import.rst:6 msgid "The import system" @@ -149,7 +150,7 @@ msgid "" msgstr "" "Python sólo tiene un tipo de objeto módulo, y todos los módulos son de este " "tipo, independientemente de si el módulo está implementado en Python, C, o " -"en cualquier otro lenguage. Para ayudar a organizar los módulos y " +"en cualquier otro lenguaje. Para ayudar a organizar los módulos y " "proporcionar una jerarquía de nombres, Python tiene un concepto de :term:" "`paquete `." @@ -169,8 +170,8 @@ msgstr "" "tienen por qué originarse en el sistema de archivos. Para los propósitos de " "esta documentación, usaremos esta conveniente analogía de directorios y " "archivos. Al igual que los directorios del sistema de archivos, los " -"paquetes están organizados jerárquicamente, y los paquetes pueden contener " -"subpaquetes, así como módulos regulares." +"paquetes están organizados de forma jerárquica, y los paquetes pueden " +"contener subpaquetes, así como módulos regulares." #: ../Doc/reference/import.rst:80 msgid "" @@ -181,11 +182,10 @@ msgid "" msgstr "" "Es importante tener en cuenta que todos los paquetes son módulos, pero no " "todos los módulos son paquetes. O dicho de otro modo, los paquetes son sólo " -"un tipo especial de módulo. Específicamente, cualquier módulo que contenga " +"un tipo especial de módulo. Específicamente, cualquier módulo que contenga " "un atributo ``__path__`` se considera un paquete." #: ../Doc/reference/import.rst:85 -#, fuzzy msgid "" "All modules have a name. Subpackage names are separated from their parent " "package name by a dot, akin to Python's standard attribute access syntax. " @@ -195,7 +195,7 @@ msgid "" msgstr "" "Todos los módulos tienen un nombre. Los nombres de los subpaquetes se " "separan del nombre del paquete padre por puntos, similar a la sintaxis de " -"acceso a atributos estándar de Python. Así, puedes tener un módulo llamado :" +"acceso a atributos estándar de Python. Así, puedes tener un módulo llamado :" "mod:`sys` y un paquete llamado :mod:`email`, que a su vez tiene un " "subpaquete llamado :mod:`email.mime` y un módulo dentro de ese subpaquete " "llamado :mod:`email.mime.text`." @@ -816,10 +816,11 @@ msgid "" msgstr "" "Los cargadores de módulos pueden optar por crear el objeto de módulo durante " "la carga mediante la implementación de un método :meth:`~importlib.abc." -"Loader.create_module`. Toma un argumento, el module spec, y retorna el nuevo " -"objeto de módulo que se usará durante la carga. ``create_module()`` no " -"necesita establecer ningún atributo en el objeto module. Si el método " -"retorna ``None``, la maquinaria de importación creará el nuevo módulo en sí." +"Loader.create_module`. Toma un argumento, la especificación del módulo, y " +"retorna el nuevo objeto de módulo que se usará durante la carga. " +"``create_module()`` no necesita establecer ningún atributo en el objeto " +"module. Si el método retorna ``None``, la maquinaria de importación creará " +"el nuevo módulo en sí." #: ../Doc/reference/import.rst:433 msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." @@ -910,7 +911,7 @@ msgstr "" #: ../Doc/reference/import.rst:474 msgid "Submodules" -msgstr "Sub-modulos" +msgstr "Submódulos" #: ../Doc/reference/import.rst:476 msgid "" @@ -1312,7 +1313,6 @@ msgid "Cached bytecode invalidation" msgstr "Invalidación del código de bytes en caché" #: ../Doc/reference/import.rst:683 -#, fuzzy msgid "" "Before Python loads cached bytecode from a ``.pyc`` file, it checks whether " "the cache is up-to-date with the source ``.py`` file. By default, Python " @@ -1321,13 +1321,13 @@ msgid "" "cache file by checking the stored metadata in the cache file against the " "source's metadata." msgstr "" -"Antes de que Python cargue el código de bytes almacenado en caché desde el " -"archivo ``.pyc``, comprueba si la memoria caché está actualizada con el " -"archivo de origen ``.py``. De forma predeterminada, Python lo hace " -"almacenando la última marca de tiempo y el tamaño modificados del origen en " -"el archivo de caché al escribirlo. En tiempo de ejecución, el sistema de " -"importación valida el archivo de caché comprobando los metadatos almacenados " -"en el archivo de caché con los metadatos del origen." +"Antes de que Python cargue el código de bytes en caché de un archivo ``." +"pyc``, verifica si el caché está actualizado con el archivo ``.py`` de " +"origen. De forma predeterminada, Python hace esto almacenando la marca de " +"tiempo y el tamaño de la última modificación de la fuente en el archivo de " +"caché al escribirlo. En tiempo de ejecución, el sistema de importación " +"valida el archivo de caché comprobando los metadatos almacenados en el " +"archivo de caché con los metadatos de la fuente." #: ../Doc/reference/import.rst:690 msgid "" @@ -1699,16 +1699,15 @@ msgstr "" "establecido (con una excepción)." #: ../Doc/reference/import.rst:859 -#, fuzzy msgid "" "To indicate to the import machinery that the spec represents a namespace :" "term:`portion`, the path entry finder sets \"submodule_search_locations\" to " "a list containing the portion." msgstr "" -"Para indicar a la máquina de importación que la especificación representa un " -"espacio de nombres :term:`portion`, el buscador de entradas de ruta " -"establece \"loader\" en la especificación en ``None`` y " -"\"submodule_search_locations\" en una lista que contiene la parte." +"Para indicar a la maquinaria de importación que la especificación representa " +"un espacio de nombres :term:`portion`, el buscador de entrada de ruta " +"establece *\"submodule_search_locations\"* en una lista que contiene la " +"porción." #: ../Doc/reference/import.rst:863 msgid "" @@ -1742,6 +1741,10 @@ msgid "" "returns a 2-tuple where the first item is the loader and the second item is " "a namespace :term:`portion`." msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_loader` toma un argumento, el " +"nombre completo del módulo que se está importando. ``find_loader()`` " +"devuelve una 2-tupla donde el primer elemento es el cargador y el segundo " +"elemento es un espacio de nombres :term:`portion`." #: ../Doc/reference/import.rst:879 msgid "" @@ -1879,12 +1882,12 @@ msgid "" "interpreter is invoked." msgstr "" "El módulo :mod:`__main__` es un caso especial relativo al sistema de " -"importación de Python. Como se señaló :ref:`elsewhere `, el " -"módulo ``__main__`` se inicializa directamente al inicio del intérprete, al " -"igual que :mod:`sys` y :mod:`builtins`. Sin embargo, a diferencia de esos " -"dos, no califica estrictamente como un módulo integrado. Esto se debe a que " -"la forma en que se inicializa ``__main__`` depende de las marcas y otras " -"opciones con las que se invoca el intérprete." +"importación de Python. Como se señaló :ref:`elsewhere `, el módulo " +"``__main__`` se inicializa directamente al inicio del intérprete, al igual " +"que :mod:`sys` y :mod:`builtins`. Sin embargo, a diferencia de esos dos, no " +"califica estrictamente como un módulo integrado. Esto se debe a que la forma " +"en que se inicializa ``__main__`` depende de las marcas y otras opciones con " +"las que se invoca el intérprete." #: ../Doc/reference/import.rst:968 msgid "__main__.__spec__" @@ -1920,7 +1923,7 @@ msgstr "" "En :ref:`los casos restantes ` ``__main__." "__spec__`` se establece en ``None``, ya que el código utilizado para " "rellenar el :mod:`__main__` no se corresponde directamente con un módulo " -"importable:" +"importable:" #: ../Doc/reference/import.rst:982 msgid "interactive prompt" @@ -2067,7 +2070,6 @@ msgid ":pep:`338` defines executing modules as scripts." msgstr ":pep:`338` define la ejecución de módulos como scripts." #: ../Doc/reference/import.rst:1042 -#, fuzzy msgid "" ":pep:`451` adds the encapsulation of per-module import state in spec " "objects. It also off-loads most of the boilerplate responsibilities of " @@ -2077,7 +2079,7 @@ msgid "" msgstr "" ":pep:`451` agrega la encapsulación del estado de importación por módulo en " "los objetos de especificación. También descargara la mayoría de las " -"responsabilidades de los cargadores en la maquinaria de importación. Estos " +"responsabilidades de los cargadores en la maquinaria de importación. Estos " "cambios permiten el desuso de varias API en el sistema de importación y " "también la adición de nuevos métodos a los buscadores y cargadores." diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 68ce1f83f0..6d1e46d210 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-15 20:43+0200\n" -"Last-Translator: Miguel Hernandez \n" +"PO-Revision-Date: 2021-08-02 19:24+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/lexical_analysis.rst:6 msgid "Lexical analysis" @@ -526,7 +527,6 @@ msgid "*Pc* - connector punctuations" msgstr "*Pc* - puntuaciones conectoras" #: ../Doc/reference/lexical_analysis.rst:318 -#, fuzzy msgid "" "*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " @@ -549,15 +549,14 @@ msgstr "" "analizan; la comparación de los identificadores se basa en NFKC." #: ../Doc/reference/lexical_analysis.rst:326 -#, fuzzy msgid "" "A non-normative HTML file listing all valid identifier characters for " "Unicode 4.1 can be found at https://www.unicode.org/Public/13.0.0/ucd/" "DerivedCoreProperties.txt" msgstr "" -"En https://www.dcl.hpi.uni-potsdam.de/home/loewis/table-3131.html se puede " -"encontrar un archivo HTML no normativo que enumera todos los caracteres de " -"identificación válidos para Unicode 4.1." +"Puede encontrar un archivo HTML no normativo que enumera todos los " +"caracteres identificadores válidos para Unicode 4.1 en https://www.unicode." +"org/Public/13.0.0/ucd/DerivedCoreProperties.txt" #: ../Doc/reference/lexical_analysis.rst:334 msgid "Keywords" @@ -1081,7 +1080,7 @@ msgstr "" "usado para concatenar expresiones de cadena al momento de la ejecución. " "Observar también que la concatenación de literales puede utilizar diferentes " "estilos de citas para cada componente (incluso mezclando cadenas *raw* y " -"cadenas de triple comillado), y los literales de cadena formateados pueden " +"cadenas con triple comilla), y los literales de cadena formateados pueden " "ser concatenados con los literales de cadena simples." #: ../Doc/reference/lexical_analysis.rst:648 @@ -1113,7 +1112,6 @@ msgstr "" "Después de la decodificación, la gramática para el contenido de la cadena es:" #: ../Doc/reference/lexical_analysis.rst:672 -#, fuzzy msgid "" "The parts of the string outside curly braces are treated literally, except " "that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " @@ -1125,14 +1123,16 @@ msgid "" "format specifier may also be appended, introduced by a colon ``':'``. A " "replacement field ends with a closing curly bracket ``'}'``." msgstr "" -"Las partes de la cadena fuera de llaves se tratan literalmente, excepto que " -"cualquier llave doble ``'{{'`` o ``'}}'`` se reemplaza con la llave simple " -"correspondiente. Una llave de apertura simple ``'{'``` marca un campo de " -"reemplazo, que comienza con una expresión de Python. Después de la " -"expresión, puede haber un campo de conversión, introducido por un signo de " -"exclamación ``'!'``. También se puede añadir un especificador de formato, " -"introducido por dos puntos ``':'``. Un campo de reemplazo termina con una " -"llave de cierre ``'}'``." +"Las partes de la cadena fuera de las llaves se tratan literalmente, excepto " +"que las llaves dobles ``'{{'`` o ``'}}'`` se reemplazan con la llave simple " +"correspondiente. Un solo corchete de apertura ``'{'`` marca un campo de " +"reemplazo, que comienza con una expresión de Python. Para mostrar tanto el " +"texto de la expresión como su valor después de la evaluación (útil en la " +"depuración), se puede agregar un signo igual ``'='`` después de la " +"expresión. Puede seguir un campo de conversión, introducido por un signo de " +"exclamación ``'!'``. También se puede agregar un especificador de formato, " +"introducido por dos puntos ``':'``. Un campo de reemplazo termina con un " +"corchete de cierre ``'}'``." #: ../Doc/reference/lexical_analysis.rst:682 msgid "" @@ -1174,10 +1174,17 @@ msgid "" "it defaults to the :func:`str` of the expression unless a conversion ``'!" "r'`` is declared." msgstr "" +"Cuando se proporciona el signo igual ``'='``, la salida tendrá el texto de " +"expresión, el ``'='`` y el valor evaluado. Los espacios después de la llave " +"de apertura ``'{'``, dentro de la expresión y después de ``'='`` se " +"conservan en la salida. Por defecto, el ``'='`` hace que se proporcione :" +"func:`repr` de la expresión, a menos que haya un formato especificado. " +"Cuando se especifica un formato, el valor predeterminado es :func:`str` de " +"la expresión a menos que se declare una conversión ``'!r'``." #: ../Doc/reference/lexical_analysis.rst:704 msgid "The equal sign ``'='``." -msgstr "" +msgstr "El símbolo igual ``'='``." #: ../Doc/reference/lexical_analysis.rst:707 msgid "" @@ -1205,7 +1212,6 @@ msgstr "" "valor final de toda la cadena." #: ../Doc/reference/lexical_analysis.rst:717 -#, fuzzy msgid "" "Top-level format specifiers may include nested replacement fields. These " "nested fields may include their own conversion fields and :ref:`format " @@ -1215,10 +1221,10 @@ msgid "" msgstr "" "Los especificadores de formato de nivel superior pueden incluir campos de " "reemplazo anidados. Estos campos anidados pueden incluir sus propios campos " -"de conversión y :ref:`especificadores de formato `, pero no " -"pueden incluir campos de reemplazo con nidos más profundos. El :ref:`mini-" -"lenguaje de especificadores de formato ` es el mismo que el " -"utilizado por el método de *string* `.format()`." +"de conversión y :ref:`especificadores de formato `, pero pueden " +"no incluir campos de reemplazo más anidados. El :ref:`especificador de " +"formato mini-lenguaje ` es el mismo que el utilizado por el " +"método :meth:`str.format`." #: ../Doc/reference/lexical_analysis.rst:723 msgid "" @@ -1452,6 +1458,5 @@ msgid "Footnotes" msgstr "Notas al pie de página" #: ../Doc/reference/lexical_analysis.rst:964 -#, fuzzy msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" -msgstr "http://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" +msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 5c187839e3..fd1e296e15 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-12-04 13:39+0100\n" -"Last-Translator: Elena He \n" +"PO-Revision-Date: 2021-08-02 19:21+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ msgstr "" "Generated-By: Babel 2.8.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: es\n" -"X-Generator: Poedit 2.4.2\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/reference/simple_stmts.rst:6 msgid "Simple statements" @@ -1457,17 +1457,17 @@ msgstr "" "variables fuera del ámbito local además del ámbito global (módulo)." #: ../Doc/reference/simple_stmts.rst:1002 -#, fuzzy msgid "" "Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :" "keyword:`global` statement, must refer to pre-existing bindings in an " "enclosing scope (the scope in which a new binding should be created cannot " "be determined unambiguously)." msgstr "" -"Los nombres enumerados en una declaración :keyword:`nonlocal`, a diferencia " -"de los enumerados en una declaración :keyword:`global`, deben hacer " -"referencia a enlaces preexistentes en un ámbito adjunto (el ámbito en el que " -"se debe crear un nuevo enlace no se puede determinar de forma inequívoca)." +"Los nombres enumerados en una instrucción :keyword:`nonlocal`, a diferencia " +"de los enumerados en una instrucción :keyword:`global`, deben hacer " +"referencia a enlaces preexistentes en un ámbito adjunto (no se puede " +"determinar el ámbito en el que se debe crear un nuevo enlace " +"inequívocamente)." #: ../Doc/reference/simple_stmts.rst:1007 msgid "" diff --git a/requirements.txt b/requirements.txt index 960e3d215a..bb44d9d254 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ pip==20.1 Sphinx==2.4.4 blurb polib -pospell==1.0.5 +pospell==1.0.12 potodo powrap python-docs-theme diff --git a/sphinx.po b/sphinx.po index 2aa0c73f4a..b2e5d30283 100644 --- a/sphinx.po +++ b/sphinx.po @@ -192,7 +192,7 @@ msgstr "Meta información:" #: ../Doc/tools/templates/indexcontent.html:59 msgid "Reporting bugs" -msgstr "Reportar errores (bugs)" +msgstr "Reportar errores" #: ../Doc/tools/templates/indexcontent.html:60 msgid "About the documentation" @@ -285,7 +285,7 @@ msgstr "Por favor, haga una donación." #: ../Doc/tools/templates/layout.html:121 msgid "Last updated on %(last_updated)s." -msgstr "Última actualización el %(last_updated)." +msgstr "Última actualización el %(last_updated)s." #: ../Doc/tools/templates/layout.html:122 msgid "Found a bug?" diff --git a/tutorial/classes.po b/tutorial/classes.po index a2a5c7f3a2..e300fab124 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 13:38+0200\n" -"Last-Translator: Marco Richetta \n" +"PO-Revision-Date: 2021-08-02 19:52+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/classes.rst:5 msgid "Classes" @@ -268,14 +269,13 @@ msgstr "" "dentro del espacio de nombres." #: ../Doc/tutorial/classes.rst:116 -#, fuzzy msgid "" "Although scopes are determined statically, they are used dynamically. At any " "time during execution, there are 3 or 4 nested scopes whose namespaces are " "directly accessible:" msgstr "" -"Aunque los alcances se determinan estáticamente, se usan dinámicamente. En " -"cualquier momento durante la ejecución hay por lo menos cuatro alcances " +"Aunque los alcances se determinan de forma estática, se utilizan de forma " +"dinámica. En cualquier momento durante la ejecución, hay 3 o 4 ámbitos " "anidados cuyos espacios de nombres son directamente accesibles:" #: ../Doc/tutorial/classes.rst:120 @@ -1282,7 +1282,6 @@ msgid "Generators" msgstr "Generadores" #: ../Doc/tutorial/classes.rst:852 -#, fuzzy msgid "" ":term:`Generators ` are a simple and powerful tool for creating " "iterators. They are written like regular functions but use the :keyword:" @@ -1291,12 +1290,12 @@ msgid "" "the data values and which statement was last executed). An example shows " "that generators can be trivially easy to create::" msgstr "" -"Los :term:`Generator` son una simple y poderosa herramienta para crear " -"iteradores. Se escriben como funciones regulares pero usan la sentencia :" -"keyword:`yield` cuando quieren retornar datos. Cada vez que se llama :func:" -"`next` sobre él, el generador continúa desde donde dejó (y recuerda todos " -"los valores de datos y cual sentencia fue ejecutada última). Un ejemplo " -"muestra que los generadores pueden ser muy fáciles de crear::" +":term:`Generators ` son una herramienta simple y poderosa para " +"crear iteradores. Están escritas como funciones regulares pero usan la " +"palabra clave :keyword:`yield` siempre que quieran retornar datos. Cada vez " +"que se llama a :func:`next`, el generador se reanuda donde lo dejó (recuerda " +"todos los valores de datos y qué instrucción se ejecutó por última vez). Un " +"ejemplo muestra que los generadores pueden ser trivialmente fáciles de crear:" #: ../Doc/tutorial/classes.rst:873 msgid "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index afe435e570..3c63ef7219 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-21 14:04+0200\n" -"Last-Translator: Raúl Cumplido \n" +"PO-Revision-Date: 2021-08-02 19:51+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -340,7 +341,6 @@ msgstr "" "funciones que engloban la función local), aunque si pueden ser referenciadas." #: ../Doc/tutorial/controlflow.rst:294 -#, fuzzy msgid "" "The actual parameters (arguments) to a function call are introduced in the " "local symbol table of the called function when it is called; thus, arguments " @@ -349,11 +349,12 @@ msgid "" "another function, or calls itself recursively, a new local symbol table is " "created for that call." msgstr "" -"Los parámetros reales (argumentos) de una función se introducen en la tabla " -"de símbolos local de la función llamada cuando esta es ejecutada; así, los " -"argumentos son pasados por valor (dónde el valor es siempre una referencia a " -"un objeto, no el valor del objeto). [#]_ Cuando una función llama a otra " -"función, una nueva tabla de símbolos local es creada para esa llamada." +"Los parámetros (argumentos) reales para una llamada de función se introducen " +"en la tabla de símbolos local de la función llamada cuando se llama; por lo " +"tanto, los argumentos se pasan usando *llamada por valor* (donde el *valor* " +"es siempre un objeto *referencia*, no el valor del objeto). [#]_ Cuando una " +"función llama a otra función, o se llama a sí misma de forma recursiva, se " +"crea una nueva tabla de símbolos locales para esa llamada." #: ../Doc/tutorial/controlflow.rst:301 msgid "" @@ -362,6 +363,11 @@ msgid "" "to by that name as a user-defined function. Other names can also point to " "that same function object and can also be used to access the function::" msgstr "" +"Una definición de función asocia el nombre de la función con el objeto de " +"función en la tabla de símbolos actual. El intérprete reconoce el objeto al " +"que apunta ese nombre como una función definida por el usuario. Otros " +"nombres también pueden apuntar a ese mismo objeto de función y también se " +"pueden usar para acceder a la función:" #: ../Doc/tutorial/controlflow.rst:312 msgid "" @@ -761,13 +767,12 @@ msgstr "" "incluye ``name`` como una clave::" #: ../Doc/tutorial/controlflow.rst:661 -#, fuzzy msgid "" "There is no possible call that will make it return ``True`` as the keyword " "``'name'`` will always bind to the first parameter. For example::" msgstr "" -"No existe una llamada que retorne ``True`` ya que la clave ``'name'`` será " -"siempre asignada al primer parámetro. Por ejemplo::" +"No hay una llamada posible que lo haga retornar ``True`` ya que la palabra " +"clave ``'name'`` siempre se vinculará al primer parámetro. Por ejemplo::" #: ../Doc/tutorial/controlflow.rst:670 msgid "" @@ -801,7 +806,7 @@ msgstr "" #: ../Doc/tutorial/controlflow.rst:688 msgid "As guidance:" -msgstr "A modo de guía: " +msgstr "A modo de guía:" #: ../Doc/tutorial/controlflow.rst:690 msgid "" @@ -833,9 +838,8 @@ msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." msgstr "" -"Para una API, utilice únicamente posicionales para prevenir cambios que " -"rompan con la compatibilidad de la API si el nombre del parámetro es " -"modificado en el futuro. " +"En el caso de una API, use solo posicional para evitar que se rompan los " +"cambios de la API si el nombre del parámetro se modifica en el futuro." #: ../Doc/tutorial/controlflow.rst:704 msgid "Arbitrary Argument Lists" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 6b466fab67..5ae6e069d1 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 13:51+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:49+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/datastructures.rst:5 msgid "Data Structures" @@ -673,6 +674,10 @@ msgid "" "idiomatic way to loop over unique elements of the sequence in sorted " "order. ::" msgstr "" +"El uso de :func:`set` en una secuencia elimina los elementos duplicados. El " +"uso de :func:`sorted` en combinación con :func:`set` sobre una secuencia es " +"una forma idiomática de recorrer elementos únicos de la secuencia en orden " +"ordenado. ::" #: ../Doc/tutorial/datastructures.rst:640 msgid "" diff --git a/tutorial/errors.po b/tutorial/errors.po index 20636f9b5a..628f184989 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 01:09+0200\n" -"Last-Translator: Héctor Canto \n" +"PO-Revision-Date: 2021-08-02 19:54+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/errors.rst:5 msgid "Errors and Exceptions" @@ -117,17 +118,16 @@ msgstr "" "qué la causó." #: ../Doc/tutorial/errors.rst:69 -#, fuzzy msgid "" "The preceding part of the error message shows the context where the " "exception occurred, in the form of a stack traceback. In general it contains " "a stack traceback listing source lines; however, it will not display lines " "read from standard input." msgstr "" -"La parte anterior del mensaje de error muestra el contexto donde ha sucedido " -"la excepción, en formato de *traza de error*. En general, contiene una traza " -"de error que lista líneas de código fuente; sin embargo, no mostrará líneas " -"leídas desde la entrada estándar." +"La parte anterior del mensaje de error muestra el contexto donde ocurrió la " +"excepción, en forma de seguimiento de pila. En general, contiene un " +"seguimiento de pila que enumera las líneas de origen; sin embargo, no " +"mostrará las líneas leídas desde la entrada estándar." #: ../Doc/tutorial/errors.rst:74 msgid "" @@ -158,7 +158,7 @@ msgstr "" #: ../Doc/tutorial/errors.rst:96 msgid "The :keyword:`try` statement works as follows." -msgstr "La declaración :keyword:`try` funciona de la siguiente manera:" +msgstr "La sentencia :keyword:`try` funciona de la siguiente manera." #: ../Doc/tutorial/errors.rst:98 msgid "" @@ -361,17 +361,20 @@ msgstr "" #: ../Doc/tutorial/errors.rst:273 msgid "Exception Chaining" -msgstr "" +msgstr "Encadenamiento de excepciones" #: ../Doc/tutorial/errors.rst:275 msgid "" "The :keyword:`raise` statement allows an optional :keyword:`from` which " "enables chaining exceptions. For example::" msgstr "" +"La instrucción :keyword:`raise` permite una palabra clave opcional :keyword:" +"`from` que habilita el encadenamiento de excepciones. Por ejemplo::" #: ../Doc/tutorial/errors.rst:281 msgid "This can be useful when you are transforming exceptions. For example::" msgstr "" +"Esto puede resultar útil cuando está transformando excepciones. Por ejemplo::" #: ../Doc/tutorial/errors.rst:302 msgid "" @@ -379,11 +382,17 @@ msgid "" "an :keyword:`except` or :keyword:`finally` section. Exception chaining can " "be disabled by using ``from None`` idiom:" msgstr "" +"El encadenamiento de excepciones ocurre automáticamente cuando se genera una " +"excepción dentro de una sección palabra clave :keyword:`except` o :keyword:" +"`finally`. El encadenamiento de excepciones se puede deshabilitar usando el " +"modismo ``from None``:" #: ../Doc/tutorial/errors.rst:315 msgid "" "For more information about chaining mechanics, see :ref:`bltin-exceptions`." msgstr "" +"Para obtener más información sobre la mecánica del encadenamiento, consulte :" +"ref:`bltin-exceptions`." #: ../Doc/tutorial/errors.rst:321 msgid "User-defined Exceptions" diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index d65556da43..17e7bd816a 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -4,18 +4,20 @@ # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-02 19:49+0200\n" "Language-Team: python-doc-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" +"Last-Translator: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/floatingpoint.rst:9 msgid "Floating Point Arithmetic: Issues and Limitations" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 6f902171b3..47cfda9c51 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 14:34+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:48+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/inputoutput.rst:5 msgid "Input and Output" @@ -235,18 +236,17 @@ msgstr "" "Se pueden combinar arbitrariamente argumentos posicionales y nombrados::" #: ../Doc/tutorial/inputoutput.rst:172 -#, fuzzy msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " "instead of by position. This can be done by simply passing the dict and " "using square brackets ``'[]'`` to access the keys. ::" msgstr "" -"Si tenés una cadena de formateo realmente larga que no querés separar, " -"podría ser bueno que puedas hacer referencia a las variables a ser " -"formateadas por el nombre en vez de la posición. Esto puede hacerse " -"simplemente pasando el diccionario y usando corchetes ``'[]'`` para acceder " -"a las claves ::" +"Si tiene una cadena de caracteres de formato realmente larga que no desea " +"dividir, sería bueno si pudiera hacer referencia a las variables que se " +"formatearán por nombre en lugar de por posición. Esto se puede hacer " +"simplemente pasando el dict y usando corchetes ``'[]'`` para acceder a las " +"claves. ::" #: ../Doc/tutorial/inputoutput.rst:182 msgid "" @@ -295,7 +295,7 @@ msgid "" "`print` works: it always adds spaces between its arguments.)" msgstr "" "(Resaltar que el espacio existente entre cada columna es añadido debido a " -"como funciona :func:`print`: siempre añade espacios entre sus argumentos)." +"como funciona :func:`print`: siempre añade espacios entre sus argumentos.)" #: ../Doc/tutorial/inputoutput.rst:237 msgid "" @@ -338,6 +338,11 @@ msgid "" "zero or more elements of ``values``. This operation is commonly known as " "string interpolation. For example::" msgstr "" +"El operador % (módulo) también se puede utilizar para formatear cadenas de " +"caracteres. Dados los ``'cadena de caracteres' % valores``, las instancias " +"de ``%`` en ``cadena de caracteres`` se reemplazan con cero o más elementos " +"de ``valores``. Esta operación se conoce comúnmente como interpolación de " +"cadenas. Por ejemplo::" #: ../Doc/tutorial/inputoutput.rst:269 msgid "" @@ -433,6 +438,9 @@ msgid "" "close()`` to close the file and immediately free up any system resources " "used by it." msgstr "" +"Si no está utilizando la palabra clave :keyword:`with`, entonces debe llamar " +"a ``f.close()`` para cerrar el archivo y liberar inmediatamente los recursos " +"del sistema utilizados por él." #: ../Doc/tutorial/inputoutput.rst:335 msgid "" @@ -440,6 +448,10 @@ msgid "" "``f.close()`` **might** result in the arguments of ``f.write()`` not being " "completely written to the disk, even if the program exits successfully." msgstr "" +"Al llamar a ``f.write()`` sin usar la palabra clave :keyword::`!with` o " +"llamar a ``f.close()`` **podría** dar como resultado los argumentos de ``f." +"write()`` no se escribe completamente en el disco, incluso si el programa se " +"cierra correctamente." #: ../Doc/tutorial/inputoutput.rst:343 msgid "" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index e0e3fa9134..e2cc8fdc63 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -4,18 +4,20 @@ # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-08-02 19:46+0200\n" "Language-Team: python-doc-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" +"Last-Translator: Cristián Maureira-Fredes \n" +"Language: es\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/interactive.rst:5 msgid "Interactive Input Editing and History Substitution" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index bcbba82a3c..775ea8f204 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-05-09 14:41+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:45+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/interpreter.rst:5 msgid "Using the Python Interpreter" @@ -30,17 +31,16 @@ msgid "Invoking the Interpreter" msgstr "Invocando al intérprete" #: ../Doc/tutorial/interpreter.rst:13 -#, fuzzy msgid "" "The Python interpreter is usually installed as :file:`/usr/local/bin/" "python3.9` on those machines where it is available; putting :file:`/usr/" "local/bin` in your Unix shell's search path makes it possible to start it by " "typing the command:" msgstr "" -"Por lo general, el intérprete de Python se instala en :file:`/usr/local/bin/" -"python3.8` en las máquinas dónde está disponible; poner :file:`/usr/local/" -"bin` en el camino de búsqueda de tu intérprete de comandos Unix hace posible " -"iniciarlo ingresando la orden:" +"El intérprete de Python generalmente se instala como :file:`/usr/local/bin/" +"python3.9` en aquellas máquinas donde está disponible; poner :file:`/usr/" +"local/bin` en la ruta de búsqueda de su shell de Unix hace posible iniciarlo " +"escribiendo el comando:" #: ../Doc/tutorial/interpreter.rst:21 msgid "" @@ -55,7 +55,6 @@ msgstr "" "(Por ejemplo, :file:`/usr/local/python` es una alternativa popular)." #: ../Doc/tutorial/interpreter.rst:26 -#, fuzzy msgid "" "On Windows machines where you have installed Python from the :ref:`Microsoft " "Store `, the :file:`python3.9` command will be available. If " @@ -63,11 +62,11 @@ msgid "" "file:`py` command. See :ref:`setting-envvars` for other ways to launch " "Python." msgstr "" -"En ordenadores con Windows dónde Python se encuentra instalado desde la :ref:" -"`Microsoft Store `, el comando :file:`python3.8` estará " -"disponible. Si tienes el :ref:`py.exe launcher ` instalado, puedes " -"utilizar el comando :file:`py`. Ver :ref:`setting-envvars` para otras formas " -"de ejecutar Python." +"En máquinas Windows en las que haya instalado Python desde :ref:`Microsoft " +"Store `, el comando :file:`python3.9` estará disponible. Si " +"tiene instalado :ref:`py.exe launcher `, puede usar el comando :" +"file:`py`. Consulte :ref:`setting-envvars` para conocer otras formas de " +"iniciar Python." #: ../Doc/tutorial/interpreter.rst:31 msgid "" diff --git a/tutorial/venv.po b/tutorial/venv.po index 161f19b158..de2f8a96fd 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-05-09 14:05+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 19:44+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/tutorial/venv.rst:6 msgid "Virtual Environments and Packages" @@ -157,7 +157,7 @@ msgid "" msgstr "" "(Este script está escrito para la consola bash. Si usas las consolas :" "program:`csh` or :program:`fish`, hay scripts alternativos ``activate.csh`` " -"y ``activate.fish`` que deberá usar en su lugar)." +"y ``activate.fish`` que deberá usar en su lugar.)" #: ../Doc/tutorial/venv.rst:74 msgid "" diff --git a/using/cmdline.po b/using/cmdline.po index 03cac71cf0..2735803ff5 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-08-28 09:36-0400\n" -"Last-Translator: \n" +"PO-Revision-Date: 2021-08-02 20:02+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/using/cmdline.rst:9 msgid "Command line and environment" @@ -749,6 +750,8 @@ msgid "" "``-X oldparser``: enable the traditional LL(1) parser. See also :envvar:" "`PYTHONOLDPARSER` and :pep:`617`." msgstr "" +"``-X oldparser``: habilita el analizador tradicional LL(1). Vea también :" +"envvar:`PYTHONOLDPARSER` y :pep:`617`." #: ../Doc/using/cmdline.rst:431 msgid "" @@ -796,6 +799,9 @@ msgid "" "``-X dev``: enable :ref:`Python Development Mode `, introducing " "additional runtime checks that are too expensive to be enabled by default." msgstr "" +"``-X dev``: habilita :ref:`Python Development Mode `, introduciendo " +"comprobaciones de tiempo de ejecución adicionales que son demasiado caras " +"para habilitarse de forma predeterminada." #: ../Doc/using/cmdline.rst:447 msgid "" @@ -861,16 +867,16 @@ msgid "" "Using ``-X dev`` option, check *encoding* and *errors* arguments on string " "encoding and decoding operations." msgstr "" +"Usando la opción ``-X dev``, verifique *encoding* y *errors* argumentos en " +"las operaciones de codificación y decodificación de cadenas de caracteres." #: ../Doc/using/cmdline.rst:481 -#, fuzzy msgid "The ``-X showalloccount`` option has been removed." -msgstr "La opción ``-X showalloccount``." +msgstr "Se ha eliminado la opción ``-X showalloccount``." #: ../Doc/using/cmdline.rst:484 -#, fuzzy msgid "The ``-X oldparser`` option." -msgstr "La opción ``-VV``." +msgstr "La opción ``-X analizador antiguo``." #: ../Doc/using/cmdline.rst:488 msgid "Options you shouldn't use" @@ -968,13 +974,12 @@ msgstr "" "Python como la variable :data:`sys.path`." #: ../Doc/using/cmdline.rst:543 -#, fuzzy msgid "" "If this is set to a non-empty string, it overrides the :data:`sys." "platlibdir` value." msgstr "" -"Si se establece en una cadena no vacía, equivale a especificar la opción :" -"option:`-i`." +"Si se establece en una cadena no vacía, anula el valor :data:`sys." +"platlibdir`." #: ../Doc/using/cmdline.rst:551 msgid "" @@ -1050,16 +1055,15 @@ msgstr "" "d` varias veces." #: ../Doc/using/cmdline.rst:592 -#, fuzzy msgid "" "If this is set to a non-empty string, enable the traditional LL(1) parser." msgstr "" -"Si se establece en una cadena no vacía, equivale a especificar la opción :" -"option:`-u`." +"Si se establece en una cadena no vacía, habilite el analizador tradicional " +"LL(1)." #: ../Doc/using/cmdline.rst:594 msgid "See also the :option:`-X` ``oldparser`` option and :pep:`617`." -msgstr "" +msgstr "Vea también la opción :option:`-X` ``oldparser`` y :pep:`617`." #: ../Doc/using/cmdline.rst:601 msgid "" @@ -1535,7 +1539,6 @@ msgstr "" "ejecución de Python." #: ../Doc/using/cmdline.rst:885 -#, fuzzy msgid "" "Also note that even when locale coercion is disabled, or when it fails to " "find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " @@ -1543,12 +1546,12 @@ msgid "" "order to force the interpreter to use ``ASCII`` instead of ``UTF-8`` for " "system interfaces." msgstr "" -"Tenga en cuenta también que incluso cuando la coerción de configuración " -"local está deshabilitada, o cuando no encuentra una configuración local de " -"destino adecuada, :envvar:`PYTHONUTF8` seguirá activando de forma " -"predeterminada en las configuraciones regionales basadas en ASCII heredadas. " -"Ambas características deben ser inhabilitadas para forzar al intérprete a " -"utilizar ``ASCII`` en lugar de ``UTF-8`` para las interfaces del sistema." +"También tenga en cuenta que incluso cuando la coerción de configuración " +"regional está desactivada, o cuando no puede encontrar una configuración " +"regional de destino adecuada, :envvar:`PYTHONUTF8` se activará de forma " +"predeterminada en las configuraciones regionales heredadas basadas en ASCII. " +"Ambas funciones deben estar deshabilitadas para obligar al intérprete a usar " +"``ASCII`` en lugar de ``UTF-8`` para las interfaces del sistema." #: ../Doc/using/cmdline.rst:892 msgid ":ref:`Availability `: \\*nix." @@ -1559,14 +1562,15 @@ msgid "See :pep:`538` for more details." msgstr "Consulte :pep:`538` para obtener más detalles." #: ../Doc/using/cmdline.rst:899 -#, fuzzy msgid "" "If this environment variable is set to a non-empty string, enable :ref:" "`Python Development Mode `, introducing additional runtime checks " "that are too expensive to be enabled by default." msgstr "" -"Si esta variable de entorno se establece en una cadena no vacía, habilite el " -"\"modo de desarrollo\" de CPython. Consulte la opción :option:`-X` ``dev``." +"Si esta variable de entorno se establece en una cadena no vacía, habilite :" +"ref:`Python Development Mode `, introduciendo comprobaciones de " +"tiempo de ejecución adicionales que son demasiado caras para habilitarse de " +"forma predeterminada." #: ../Doc/using/cmdline.rst:907 msgid "" diff --git a/using/mac.po b/using/mac.po index 6055d1dea5..a0579ef3bd 100644 --- a/using/mac.po +++ b/using/mac.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2020-07-07 08:51-0500\n" -"Last-Translator: Juan Alegría \n" +"PO-Revision-Date: 2021-08-02 19:57+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es_CO\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/using/mac.rst:6 msgid "Using Python on a Macintosh" @@ -73,6 +74,10 @@ msgid "" "Python distributions; and PythonLauncher, which handles double-clicking " "Python scripts from the Finder." msgstr "" +"Una carpeta :file:`Python 3.9` en su carpeta :file:`Applications`. Aquí " +"encontrará IDLE, el entorno de desarrollo que es una parte estándar de las " +"distribuciones oficiales de Python; y PythonLauncher, que se encarga de " +"hacer doble clic en los scripts de Python desde el Finder." #: ../Doc/using/mac.rst:33 msgid "" @@ -210,11 +215,10 @@ msgstr "" "comenzar tales scripts." #: ../Doc/using/mac.rst:95 -#, fuzzy msgid "" "With Python 3.9, you can use either :program:`python` or :program:`pythonw`." msgstr "" -"Con Python 3.8, usted podrá utilizar ya sea :program:`python` o :program:" +"Con Python 3.9, usted podrá utilizar ya sea :program:`python` o :program:" "`pythonw`." #: ../Doc/using/mac.rst:99 diff --git a/using/unix.po b/using/unix.po index b251d17415..17014ae892 100644 --- a/using/unix.po +++ b/using/unix.po @@ -165,7 +165,7 @@ msgid "" "since it only installs :file:`{exec_prefix}/bin/python{version}`." msgstr "" "``make install`` puede sobreescribir o enmascarar el binario :file:" -"`python3`. Por lo tanto se recomienda ``make altinstall`` en lugar de``make " +"`python3`. Por lo tanto se recomienda ``make altinstall`` en lugar de ``make " "install`` debido a que sólo instala :file:`{exec_prefix}/bin/python{version}" "`." diff --git a/using/windows.po b/using/windows.po index 0e40ea4fcc..47a455c041 100644 --- a/using/windows.po +++ b/using/windows.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-03-19 11:16+0100\n" -"PO-Revision-Date: 2021-02-27 14:06-0300\n" -"Last-Translator: Federico Zuccolo \n" +"PO-Revision-Date: 2021-08-02 19:59+0200\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"X-Generator: Poedit 3.0\n" #: ../Doc/using/windows.rst:7 msgid "Using Python on Windows" @@ -62,6 +63,11 @@ msgid "" "that Python |version| supports Windows 8.1 and newer. If you require Windows " "7 support, please install Python 3.8." msgstr "" +"Como se especifica en :pep:`11`, una versión de Python solo admite una " +"plataforma Windows, mientras que Microsoft considera la plataforma con " +"soporte extendido. Esto significa que Python | versión | es compatible con " +"Windows 8.1 y versiones posteriores. Si necesita compatibilidad con Windows " +"7, instale Python 3.8." #: ../Doc/using/windows.rst:29 msgid "" @@ -252,7 +258,6 @@ msgstr "" "producirían errores." #: ../Doc/using/windows.rst:104 -#, fuzzy msgid "" "In the latest versions of Windows, this limitation can be expanded to " "approximately 32,000 characters. Your administrator will need to activate " @@ -260,23 +265,20 @@ msgid "" "``1`` in the registry key ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" "\\Control\\FileSystem``." msgstr "" -"En las últimas versiones de Windows, este límite puede ser extendido a " -"aproximadamente 32,000 caracteres. El administrador tendrá que activar la " -"directiva de grupo \"Enable Win32 long paths\", o establecer el valor del " -"registro ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control" -"\\FileSystem@LongPathsEnabled`` a ``1``." +"En las últimas versiones de Windows, esta limitación se puede ampliar a " +"aproximadamente 32.000 caracteres. Su administrador deberá activar la " +"política de grupo \"Habilitar rutas largas de Win32\" o establecer " +"``LongPathsEnabled`` en ``1`` en la clave de registro ``HKEY_LOCAL_MACHINE" +"\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: ../Doc/using/windows.rst:110 -#, fuzzy msgid "" "This allows the :func:`open` function, the :mod:`os` module and most other " "path functionality to accept and return paths longer than 260 characters." msgstr "" "Esto permite que la función :func:`open`, el módulo :mod:`os` y la mayoría " -"de las demás funciones de ruta acepten y retornen rutas de más de 260 " -"caracteres cuando se usan cadenas. (El uso de bytes como rutas está en " -"desuso en Windows, y esta característica no está disponible cuando se usan " -"bytes.)" +"de las demás funciones de ruta acepten y devuelvan rutas de más de 260 " +"caracteres." #: ../Doc/using/windows.rst:113 msgid "After changing the above option, no further configuration is required." @@ -664,7 +666,6 @@ msgstr "" "número de instalaciones es muy útil tener una copia en la caché local." #: ../Doc/using/windows.rst:257 -#, fuzzy msgid "" "Execute the following command from Command Prompt to download all possible " "required files. Remember to substitute ``python-3.9.0.exe`` for the actual " @@ -672,9 +673,9 @@ msgid "" "avoid collisions between files with the same name." msgstr "" "Ejecute el siguiente comando desde el símbolo del sistema para descargar " -"todos los posibles archivos requeridos. Recuerde reemplazar ``Python-3.8.0." -"exe`` por el nombre real del instalador y crear una estructura de " -"directorios propia para evitar colisiones entre archivos del mismo nombre." +"todos los archivos necesarios posibles. Recuerde sustituir ``python-3.9.0." +"exe`` por el nombre real de su instalador y crear diseños en sus propios " +"directorios para evitar colisiones entre archivos con el mismo nombre." #: ../Doc/using/windows.rst:266 msgid "" @@ -752,7 +753,7 @@ msgstr "" "Para instalar el paquete, asegúrate de tener las últimas actualizaciones de " "Windows 10 y busca \"Python |version|\" en Microsoft Store. Comprueba que la " "aplicación que seleccionas es una publicación de la Python Software " -"Foundation e instálala." +"Foundation y procede a instalarla." #: ../Doc/using/windows.rst:302 msgid "" @@ -861,6 +862,11 @@ msgid "" "scenes `_" msgstr "" +"Para obtener más detalles sobre la base técnica de estas limitaciones, " +"consulte la documentación de Microsoft sobre aplicaciones empaquetadas de " +"plena confianza, actualmente disponible en `docs.microsoft.com/en-us/windows/" +"msix/desktop/desktop-to-uwp-behind-the-scenes `_" #: ../Doc/using/windows.rst:351 msgid "The nuget.org packages" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index f23cd1d666..ed19f37a9f 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -2125,7 +2125,7 @@ msgstr "" #: ../Doc/whatsnew/3.2.rst:1395 msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" msgstr "" -"(Disponbile en sistemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" +"(Disponible en sistemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" #: ../Doc/whatsnew/3.2.rst:1398 msgid "gzip and zipfile"