# 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. # 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 # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2020-06-24 22:47+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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.3\n" #: ../Doc/extending/building.rst:7 msgid "Building C and C++ Extensions" msgstr "Construyendo Extensiones C y C++" #: ../Doc/extending/building.rst:9 msgid "" "A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, " "``.pyd`` on Windows), which exports an *initialization function*." msgstr "" "Una extensión C para CPython es una biblioteca compartida (por ejemplo, un " "archivo ``.so`` en Linux, ``.pyd`` en Windows), que exporta una *función de " "inicialización*." #: ../Doc/extending/building.rst:12 msgid "" "To be importable, the shared library must be available on :envvar:" "`PYTHONPATH`, and must be named after the module name, with an appropriate " "extension. When using distutils, the correct filename is generated " "automatically." msgstr "" "Para que sea importable, la biblioteca compartida debe estar disponible en :" "envvar:`PYTHONPATH`, y debe tener el nombre del módulo, con una extensión " "adecuada. Cuando se usan distutils, el nombre de archivo correcto se genera " "automáticamente." #: ../Doc/extending/building.rst:16 msgid "The initialization function has the signature:" msgstr "La función de inicialización tiene la firma:" #: ../Doc/extending/building.rst:20 #, fuzzy msgid "" "It returns either a fully initialized module, or a :c:type:`PyModuleDef` " "instance. See :ref:`initializing-modules` for details." msgstr "" "Retorna un módulo completamente inicializado o una instancia :c:type:" "`PyModuleDef`. Ver :ref:`initializing-modules` para más detalles." #: ../Doc/extending/building.rst:25 msgid "" "For modules with ASCII-only names, the function must be named " "``PyInit_``, with ```` replaced by the name of the " "module. When using :ref:`multi-phase-initialization`, non-ASCII module names " "are allowed. In this case, the initialization function name is " "``PyInitU_``, with ```` encoded using Python's " "*punycode* encoding with hyphens replaced by underscores. In Python::" msgstr "" "Para los módulos con nombres solo ASCII, la función debe llamarse " "``PyInit_``, con ```` reemplazado por el nombre del " "módulo. Cuando se usa :ref:`multi-phase-initialization`, se permiten nombres " "de módulos que no sean ASCII. En este caso, el nombre de la función de " "inicialización es ``PyInitU_``, con ```` codificado " "usando la codificación *punycode* de Python con guiones reemplazados por " "guiones bajos. En Python::" #: ../Doc/extending/building.rst:39 msgid "" "It is possible to export multiple modules from a single shared library by " "defining multiple initialization functions. However, importing them requires " "using symbolic links or a custom importer, because by default only the " "function corresponding to the filename is found. See the *\"Multiple modules " "in one library\"* section in :pep:`489` for details." msgstr "" "Es posible exportar múltiples módulos desde una única biblioteca compartida " "definiendo múltiples funciones de inicialización. Sin embargo, importarlos " "requiere el uso de enlaces simbólicos o un importador personalizado, porque " "de forma predeterminada solo se encuentra la función correspondiente al " "nombre del archivo. Consulte la sección *\"Múltiples módulos en una " "biblioteca\"* en :pep:`489` para más detalles." #: ../Doc/extending/building.rst:49 msgid "Building C and C++ Extensions with distutils" msgstr "Construyendo Extensiones C y C++ con distutils" #: ../Doc/extending/building.rst:53 msgid "" "Extension modules can be built using distutils, which is included in " "Python. Since distutils also supports creation of binary packages, users " "don't necessarily need a compiler and distutils to install the extension." msgstr "" "Los módulos de extensión se pueden construir utilizando distutils, que se " "incluye en Python. Dado que distutils también admite la creación de paquetes " "binarios, los usuarios no necesitan necesariamente un compilador y distutils " "para instalar la extensión." #: ../Doc/extending/building.rst:57 msgid "" "A distutils package contains a driver script, :file:`setup.py`. This is a " "plain Python file, which, in the most simple case, could look like this:" msgstr "" "Un paquete distutils contiene un script de controlador, :file:`setup.py`. " "Este es un archivo Python simple, que, en el caso más simple, podría verse " "así:" #: ../Doc/extending/building.rst:73 msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::" msgstr "Con esto :file:`setup.py`, y un archivo :file:`demo.c`, ejecutando::" #: ../Doc/extending/building.rst:77 msgid "" "will compile :file:`demo.c`, and produce an extension module named ``demo`` " "in the :file:`build` directory. Depending on the system, the module file " "will end up in a subdirectory :file:`build/lib.system`, and may have a name " "like :file:`demo.so` or :file:`demo.pyd`." msgstr "" "compilará :file:`demo.c`, y producirá un módulo de extensión llamado " "``demo`` en el directorio :file:`build`. Dependiendo del sistema, el archivo " "del módulo terminará en un subdirectorio :file:`build/lib.system`, y puede " "tener un nombre como :file:`demo.so` o :file:`demo.pyd`." #: ../Doc/extending/building.rst:82 msgid "" "In the :file:`setup.py`, all execution is performed by calling the ``setup`` " "function. This takes a variable number of keyword arguments, of which the " "example above uses only a subset. Specifically, the example specifies meta-" "information to build packages, and it specifies the contents of the " "package. Normally, a package will contain additional modules, like Python " "source modules, documentation, subpackages, etc. Please refer to the " "distutils documentation in :ref:`distutils-index` to learn more about the " "features of distutils; this section explains building extension modules only." msgstr "" "En :file:`setup.py`, toda la ejecución se realiza llamando a la función " "``setup``. Esto toma un número variable de argumentos de palabras clave, de " "los cuales el ejemplo anterior usa solo un subconjunto. Específicamente, el " "ejemplo especifica metainformación para construir paquetes, y especifica el " "contenido del paquete. Normalmente, un paquete contendrá módulos " "adicionales, como módulos fuente Python, documentación, subpaquetes, etc. " "Consulte la documentación de distutils en :ref:`distutils-index` para " "obtener más información sobre las características de distutils; Esta sección " "explica la construcción de módulos de extensión solamente." #: ../Doc/extending/building.rst:91 msgid "" "It is common to pre-compute arguments to :func:`setup`, to better structure " "the driver script. In the example above, the ``ext_modules`` argument to :" "func:`~distutils.core.setup` is a list of extension modules, each of which " "is an instance of the :class:`~distutils.extension.Extension`. In the " "example, the instance defines an extension named ``demo`` which is build by " "compiling a single source file, :file:`demo.c`." msgstr "" "Es común precalcular argumentos para :func:`setup`, para estructurar mejor " "el script del controlador. En el ejemplo anterior, el argumento " "``ext_modules`` para :func:`~distutils.core.setup` es una lista de módulos " "de extensión, cada uno de los cuales es una instancia de :class:`~distutils." "extension.Extension` . En el ejemplo, la instancia define una extensión " "llamada ``demo`` que se construye compilando un solo archivo fuente :file:" "`demo.c`." #: ../Doc/extending/building.rst:99 msgid "" "In many cases, building an extension is more complex, since additional " "preprocessor defines and libraries may be needed. This is demonstrated in " "the example below." msgstr "" "En muchos casos, construir una extensión es más complejo, ya que es posible " "que se necesiten preprocesadores adicionales y bibliotecas. Esto se " "demuestra en el siguiente ejemplo." #: ../Doc/extending/building.rst:127 msgid "" "In this example, :func:`~distutils.core.setup` is called with additional " "meta-information, which is recommended when distribution packages have to be " "built. For the extension itself, it specifies preprocessor defines, include " "directories, library directories, and libraries. Depending on the compiler, " "distutils passes this information in different ways to the compiler. For " "example, on Unix, this may result in the compilation commands ::" msgstr "" "En este ejemplo, se llama a :func:`~distutils.core.setup` con " "metainformación adicional, que se recomienda cuando se deben construir " "paquetes de distribución. Para la extensión en sí, especifica las " "definiciones de preprocesador, incluye directorios, directorios de " "biblioteca y bibliotecas. Dependiendo del compilador, distutils pasa esta " "información de diferentes maneras al compilador. Por ejemplo, en Unix, esto " "puede resultar en los comandos de compilación::" #: ../Doc/extending/building.rst:139 msgid "" "These lines are for demonstration purposes only; distutils users should " "trust that distutils gets the invocations right." msgstr "" "Estas líneas son solo para fines de demostración; Los usuarios de distutils " "deben confiar en que distutils obtiene las invocaciones correctas." #: ../Doc/extending/building.rst:146 msgid "Distributing your extension modules" msgstr "Distribuyendo sus módulos de extensión" #: ../Doc/extending/building.rst:148 msgid "" "When an extension has been successfully built, there are three ways to use " "it." msgstr "" "Cuando una extensión se ha creado correctamente, hay tres formas de usarla." #: ../Doc/extending/building.rst:150 msgid "" "End-users will typically want to install the module, they do so by running ::" msgstr "" "Los usuarios finales generalmente querrán instalar el módulo, lo hacen " "ejecutando::" #: ../Doc/extending/building.rst:154 msgid "" "Module maintainers should produce source packages; to do so, they run ::" msgstr "" "Los mantenedores de módulos deben producir paquetes fuente; para hacerlo, " "ejecutan::" #: ../Doc/extending/building.rst:158 msgid "" "In some cases, additional files need to be included in a source " "distribution; this is done through a :file:`MANIFEST.in` file; see :ref:" "`manifest` for details." msgstr "" "En algunos casos, se deben incluir archivos adicionales en una distribución " "de origen; esto se hace a través de un archivo :file:`MANIFEST.in`; ver :ref:" "`manifest` para más detalles." #: ../Doc/extending/building.rst:161 msgid "" "If the source distribution has been built successfully, maintainers can also " "create binary distributions. Depending on the platform, one of the following " "commands can be used to do so. ::" msgstr "" "Si la distribución de origen se ha creado correctamente, los encargados del " "mantenimiento también pueden crear distribuciones binarias. Dependiendo de " "la plataforma, se puede usar uno de los siguientes comandos para hacerlo.::"