diff --git a/dictionaries/library_abc.txt b/dictionaries/library_abc.txt new file mode 100644 index 0000000000..23735f5e02 --- /dev/null +++ b/dictionaries/library_abc.txt @@ -0,0 +1,3 @@ +interoperar +desarrolladores +MyIterable diff --git a/library/abc.po b/library/abc.po index 819eb34bdd..f9a7add8fd 100644 --- a/library/abc.po +++ b/library/abc.po @@ -1,29 +1,31 @@ # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. -# Maintained by the python-doc-es workteam. +# Maintained by the python-doc-es workteam. # docs-es@python.org / https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/PyCampES/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: 2020-07-11 13:59-0500\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" +"Last-Translator: \n" +"X-Generator: Poedit 2.3.1\n" +"Language: es\n" +"X-Poedit-SourceCharset: UTF-8\n" #: ../Doc/library/abc.rst:2 msgid ":mod:`abc` --- Abstract Base Classes" -msgstr "" +msgstr ":mod:`abc` --- Clases de Base Abstracta" #: ../Doc/library/abc.rst:11 msgid "**Source code:** :source:`Lib/abc.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/abc.py`" #: ../Doc/library/abc.rst:15 msgid "" @@ -32,8 +34,14 @@ msgid "" "see the PEP for why this was added to Python. (See also :pep:`3141` and the :" "mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)" msgstr "" +"Este módulo proporciona la infraestructura para definir :term:`clases de " +"base abstracta ` (CBAs) en Python, como se describe en :" +"pep:`3119`; consulte en el PEP el porqué fue agregado a Python. (Véase " +"también :pep:`3141` y el módulo :mod:`numbers` con respecto a una jerarquía " +"de tipos para números basados en CBAs.)" #: ../Doc/library/abc.rst:20 +#, fuzzy msgid "" "The :mod:`collections` module has some concrete classes that derive from " "ABCs; these can, of course, be further derived. In addition, the :mod:" @@ -41,12 +49,20 @@ msgid "" "class or instance provides a particular interface, for example, if it is " "hashable or if it is a mapping." msgstr "" +"El módulo :mod:`collections` tiene algunas clases concretas que derivan de " +"CBAs; estos pueden, por supuesto, ser derivados aún más. Además, el " +"submódulo :mod:`collections.abc` tiene algunos CBAs que se pueden utilizar " +"para probar si una clase o instancia proporciona una interfaz determinada, " +"por ejemplo, si es *hashable* o si es un *mapping*." #: ../Doc/library/abc.rst:27 msgid "" "This module provides the metaclass :class:`ABCMeta` for defining ABCs and a " "helper class :class:`ABC` to alternatively define ABCs through inheritance:" msgstr "" +"Este módulo provee la metaclase :class:`ABCMeta` para definir CBAs y una " +"clase auxiliar :class:`ABC` para definir CBAs alternativamente a través de " +"herencia:" #: ../Doc/library/abc.rst:32 msgid "" @@ -54,8 +70,13 @@ msgid "" "an abstract base class can be created by simply deriving from :class:`ABC` " "avoiding sometimes confusing metaclass usage, for example::" msgstr "" +"Una clase auxiliar que tiene una :class:`ABCMeta` como su metaclase. Con " +"esta clase, una clase de base abstracta puede ser creada simplemente " +"derivándola desde :class:`ABC` evitando el uso de metaclases algunas veces " +"confusos, por ejemplo::" #: ../Doc/library/abc.rst:41 +#, fuzzy msgid "" "Note that the type of :class:`ABC` is still :class:`ABCMeta`, therefore " "inheriting from :class:`ABC` requires the usual precautions regarding " @@ -63,10 +84,16 @@ msgid "" "One may also define an abstract base class by passing the metaclass keyword " "and using :class:`ABCMeta` directly, for example::" msgstr "" +"Tenga en cuenta que el tipo de :class:`ABC` sigue siendo :class:`ABCMeta`, " +"por lo tanto, heredar de :class:`ABC` requiere las precauciones habituales " +"respecto al uso de metaclases, ya que la herencia múltiple puede dar lugar a " +"conflictos de metaclases. También se puede definir una clase de base " +"abstracta pasando la palabra clave *metaclass* y utilizando :class:`ABCMeta` " +"directamente, por ejemplo::" #: ../Doc/library/abc.rst:57 msgid "Metaclass for defining Abstract Base Classes (ABCs)." -msgstr "" +msgstr "Metaclases para definir Clases de Base Abstracta (CBAs)." #: ../Doc/library/abc.rst:59 msgid "" @@ -79,35 +106,50 @@ msgid "" "will method implementations defined by the registering ABC be callable (not " "even via :func:`super`). [#]_" msgstr "" +"Utilice esta metaclase para crear una CBA. Una CBA puede ser heredada " +"directamente y así, actuar como una clase mixta. También se puede registrar " +"clases concretas no relacionadas (incluso clases integradas) y CBAs no " +"relacionadas como \"subclases virtuales\" -- estas y sus descendientes serán " +"consideradas subclases del CBA registrado por la función integrada :func:" +"`issubclass`, pero la CBA registrada no aparecerá en su *MRO* (Orden de " +"Resolución de Métodos) ni las implementaciones de método definidas por la " +"CBA registrada serán invocables (ni siquiera a través de :func:`super`). [#]_" #: ../Doc/library/abc.rst:68 msgid "" "Classes created with a metaclass of :class:`ABCMeta` have the following " "method:" msgstr "" +"Las clases creadas con una metaclase de :class:`ABCMeta` tienen el siguiente " +"método:" #: ../Doc/library/abc.rst:72 msgid "" "Register *subclass* as a \"virtual subclass\" of this ABC. For example::" msgstr "" +"Registre la *subclase* como una \"subclase virtual\" de esta CBA. Por " +"ejemplo::" #: ../Doc/library/abc.rst:85 msgid "Returns the registered subclass, to allow usage as a class decorator." msgstr "" +"Retorna la subclase registrada, para permitir su uso como decorador de clase." #: ../Doc/library/abc.rst:88 msgid "" "To detect calls to :meth:`register`, you can use the :func:`get_cache_token` " "function." msgstr "" +"Para detectar llamadas a :meth:`register`, se puede usar la función :func:" +"`get_cache_token`." #: ../Doc/library/abc.rst:92 msgid "You can also override this method in an abstract base class:" -msgstr "" +msgstr "También se puede redefinir este método en una clase de base abstracta:" #: ../Doc/library/abc.rst:96 msgid "(Must be defined as a class method.)" -msgstr "" +msgstr "(Debe ser definido como un método de clase.)" #: ../Doc/library/abc.rst:98 msgid "" @@ -117,6 +159,11 @@ msgid "" "of the ABC. (This class method is called from the :meth:`__subclasscheck__` " "method of the ABC.)" msgstr "" +"Compruebe si la *subclase* se considera una subclase de esta CBA. Esto " +"significa que puede personalizar aún más el comportamiento de ``issubclass`` " +"sin necesidad de llamar a :meth:`register` en cada clase que desee " +"considerar una subclase de la CBA. (Este método de clase es llamado desde " +"el método :meth:`__subclasscheck__` del CBA.)" #: ../Doc/library/abc.rst:104 msgid "" @@ -126,11 +173,18 @@ msgid "" "even if it would normally be one. If it returns ``NotImplemented``, the " "subclass check is continued with the usual mechanism." msgstr "" +"Este método debe retornar ``True``, ``False`` o ``NotImplemented``. Si " +"retorna ``True``, la *subclase* se considera una subclase de esta CBA. Si " +"retorna ``False``, la *subclase* no se considera una subclase de esta CBA, " +"incluso si normalmente fuese una. Si retorna ``NotImplemented``, la " +"comprobación de subclase se continúa con el mecanismo usual." #: ../Doc/library/abc.rst:114 msgid "" "For a demonstration of these concepts, look at this example ABC definition::" msgstr "" +"Para una demostración de estos conceptos, vea este ejemplo de la definición " +"CBA::" #: ../Doc/library/abc.rst:143 msgid "" @@ -140,6 +194,11 @@ msgid "" "also part of the ``MyIterable`` abstract base class, but it does not have to " "be overridden in non-abstract derived classes." msgstr "" +"La CBA ``MyIterable`` define el método iterable estándar, :meth:`~iterator." +"__iter__`, como un método abstracto. La implementación dada aquí aún se " +"puede llamar desde subclases. El método :meth:`get_iterator` también forma " +"parte de la clase de base abstracta ``MyIterable``, pero no tiene que ser " +"reemplazado en clases derivadas no abstractas." #: ../Doc/library/abc.rst:149 msgid "" @@ -148,6 +207,11 @@ msgid "" "__dict__` (or in that of one of its base classes, accessed via the :attr:" "`~class.__mro__` list) is considered a ``MyIterable`` too." msgstr "" +"El método de la clase :meth:`__subclasshook__` definido aquí dice que " +"cualquier clase que tenga un método :meth:`~iterator.__iter__` en su :attr:" +"`~object.__dict__` (o en la de una de sus clases base, a la que se accede a " +"través de la lista :attr:`~class.__mro__`) también se considera un " +"``MyIterable``." #: ../Doc/library/abc.rst:154 msgid "" @@ -157,14 +221,20 @@ msgid "" "meth:`__getitem__`). Note that this will not make ``get_iterator`` " "available as a method of ``Foo``, so it is provided separately." msgstr "" +"Por último, la última línea convierte ``Foo`` en una subclase virtual de " +"``MyIterable``, aunque no define un método :meth:`~iterator.__iter__` " +"(utiliza el protocolo iterable al estilo antiguo, definido en términos de :" +"meth:`__len__` y :meth:`__getitem__`). Tenga en cuenta que esto no hará que " +"``get_iterator`` esté disponible como un método de ``Foo``, por lo que es " +"proporcionado por separado." #: ../Doc/library/abc.rst:163 msgid "The :mod:`abc` module also provides the following decorator:" -msgstr "" +msgstr "El módulo :mod:`abc` también proporciona el siguiente decorador:" #: ../Doc/library/abc.rst:167 msgid "A decorator indicating abstract methods." -msgstr "" +msgstr "Un decorador que indica métodos abstractos." #: ../Doc/library/abc.rst:169 msgid "" @@ -175,6 +245,13 @@ msgid "" "the normal 'super' call mechanisms. :func:`abstractmethod` may be used to " "declare abstract methods for properties and descriptors." msgstr "" +"El uso de este decorador requiere que la metaclase de la clase sea :class:" +"`ABCMeta` o se derive de esta. Una clase que tiene una metaclase derivada " +"de :class:`ABCMeta` no puede ser instanciada, a menos que todas sus " +"propiedades y métodos abstractos sean anulados. Los métodos abstractos se " +"pueden invocar usando cualquiera de los mecanismos de 'super' invocación " +"normales. :func:`abstractmethod` se puede utilizar para declarar métodos " +"abstractos para propiedades y descriptores." #: ../Doc/library/abc.rst:176 msgid "" @@ -184,6 +261,11 @@ msgid "" "regular inheritance; \"virtual subclasses\" registered with the ABC's :meth:" "`register` method are not affected." msgstr "" +"No se admite la adición dinámica de métodos abstractos a una clase o el " +"intento de modificar el estado de abstracción de un método o clase una vez " +"creado. El :func:`abstractmethod` sólo afecta a las subclases derivadas " +"mediante herencia regular; las \"subclases virtuales\" registradas con el " +"método :meth:`register` de CBAs no son afectadas." #: ../Doc/library/abc.rst:182 msgid "" @@ -191,6 +273,9 @@ msgid "" "descriptors, it should be applied as the innermost decorator, as shown in " "the following usage examples::" msgstr "" +"Cuando :func:`abstractmethod` se aplica en combinación con otros " +"descriptores de método, se debe aplicar como el decorador más interno, como " +"se muestra en los siguientes ejemplos de uso::" #: ../Doc/library/abc.rst:216 msgid "" @@ -200,6 +285,12 @@ msgid "" "of the methods used to compose the descriptor are abstract. For example, " "Python's built-in :class:`property` does the equivalent of::" msgstr "" +"Para interoperar correctamente con la maquinaria de clase de base abstracta, " +"el descriptor debe identificarse como abstracto utilizando :attr:" +"`__isabstractmethod__`. En general, este atributo debe ser ``True`` si " +"alguno de los métodos utilizados para componer el descriptor es abstracto. " +"Por ejemplo, la clase de propiedad integrada de Python :class:`property` " +"hace el equivalente de::" #: ../Doc/library/abc.rst:231 msgid "" @@ -209,46 +300,67 @@ msgid "" "point for a super-call in a framework that uses cooperative multiple-" "inheritance." msgstr "" +"A diferencia de los métodos abstractos de Java, estos métodos abstractos " +"pueden tener una implementación. Esta implementación se puede llamar a " +"través del mecanismo :func:`super` de la clase que lo invalida. Esto podría " +"ser útil como un *end-point* para una super llamada en un *framework* que " +"use herencia múltiple cooperativa." #: ../Doc/library/abc.rst:239 msgid "The :mod:`abc` module also supports the following legacy decorators:" msgstr "" +"El módulo :mod:`abc` también es compatible con los siguientes decoradores " +"heredados:" #: ../Doc/library/abc.rst:244 msgid "" "It is now possible to use :class:`classmethod` with :func:`abstractmethod`, " "making this decorator redundant." msgstr "" +"Ahora es posible utilizar :class:`classmethod` con :func:`abstractmethod`, " +"lo cual hace que este decorador sea redundante." #: ../Doc/library/abc.rst:248 msgid "" "A subclass of the built-in :func:`classmethod`, indicating an abstract " "classmethod. Otherwise it is similar to :func:`abstractmethod`." msgstr "" +"Una subclase de la :func:`classmethod` incorporada, indicando un método de " +"clase abstracto. De otra forma, es similar a :func:`abstractmethod`." #: ../Doc/library/abc.rst:251 msgid "" "This special case is deprecated, as the :func:`classmethod` decorator is now " "correctly identified as abstract when applied to an abstract method::" msgstr "" +"Este caso especial está obsoleto, ya que el decorador :func:`classmethod` " +"ahora es identificado correctamente como abstracto cuando se aplica a un " +"método abstracto:" #: ../Doc/library/abc.rst:265 msgid "" "It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, " "making this decorator redundant." msgstr "" +"Ahora es posible utilizar :class:`staticmethod` con :func:`abstractmethod`, " +"haciendo que este decorador sea redundante." #: ../Doc/library/abc.rst:269 msgid "" "A subclass of the built-in :func:`staticmethod`, indicating an abstract " "staticmethod. Otherwise it is similar to :func:`abstractmethod`." msgstr "" +"Una subclase de la :func:`staticmethod` incorporada, indicando un método " +"estático abstracto. De otra forma, es similar a :func:`abstractmethod`." #: ../Doc/library/abc.rst:272 msgid "" "This special case is deprecated, as the :func:`staticmethod` decorator is " "now correctly identified as abstract when applied to an abstract method::" msgstr "" +"Este caso especial está obsoleto, ya que el decorador :func:`staticmethod` " +"ahora es identificado correctamente como abstracto cuando se aplica a un " +"método abstracto:" #: ../Doc/library/abc.rst:285 msgid "" @@ -256,17 +368,25 @@ msgid "" "`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, " "making this decorator redundant." msgstr "" +"Ahora es posible utilizar :class:`property`, :meth:`property.getter`, :meth:" +"`property.setter` y :meth:`property.deleter` con :func:`abstractmethod`, lo " +"cual hace que este decorador sea redundante." #: ../Doc/library/abc.rst:290 msgid "" "A subclass of the built-in :func:`property`, indicating an abstract property." msgstr "" +"Una subclase de la :func:`property` integrada, que indica una propiedad " +"abstracta." #: ../Doc/library/abc.rst:293 msgid "" "This special case is deprecated, as the :func:`property` decorator is now " "correctly identified as abstract when applied to an abstract method::" msgstr "" +"Este caso especial está obsoleto, ya que el decorador :func:`property` ahora " +"es identificado correctamente como abstracto cuando es aplicado a un método " +"abstracto::" #: ../Doc/library/abc.rst:303 msgid "" @@ -274,20 +394,25 @@ msgid "" "write abstract property by appropriately marking one or more of the " "underlying methods as abstract::" msgstr "" +"En el ejemplo anterior se define una propiedad de solo lectura; también se " +"puede definir una propiedad abstracta de lectura y escritura marcando " +"adecuadamente uno o varios de los métodos subyacentes como abstractos::" #: ../Doc/library/abc.rst:317 msgid "" "If only some components are abstract, only those components need to be " "updated to create a concrete property in a subclass::" msgstr "" +"Si solo algunos componentes son abstractos, solo estos componentes necesitan " +"ser actualizados para crear una propiedad concreta en una subclase::" #: ../Doc/library/abc.rst:326 msgid "The :mod:`abc` module also provides the following functions:" -msgstr "" +msgstr "El módulo :mod:`abc` también proporciona las siguientes funciones:" #: ../Doc/library/abc.rst:330 msgid "Returns the current abstract base class cache token." -msgstr "" +msgstr "Retorna el token de caché de la clase base abstracta actual." #: ../Doc/library/abc.rst:332 msgid "" @@ -295,13 +420,19 @@ msgid "" "the current version of the abstract base class cache for virtual subclasses. " "The token changes with every call to :meth:`ABCMeta.register` on any ABC." msgstr "" +"El token es un objeto opaco (que admite pruebas de igualdad) que identifica " +"la versión actual de la caché de clases de base abstractas para subclases " +"virtuales. El token cambia con cada llamada a :meth:`ABCMeta.register` en " +"cualquier CBA." #: ../Doc/library/abc.rst:340 msgid "Footnotes" -msgstr "" +msgstr "Notas al pie" #: ../Doc/library/abc.rst:341 msgid "" "C++ programmers should note that Python's virtual base class concept is not " "the same as C++'s." msgstr "" +"Los desarrolladores de C++ pueden notar que el concepto de clase base " +"virtual de Python no es el mismo que en C++."