# 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: 2023-10-12 19:43+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.13.0\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 #, fuzzy 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 setuptools, 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:52 #, fuzzy msgid "Building C and C++ Extensions with setuptools" msgstr "Construyendo extensiones C y C++ con distutils" #: ../Doc/extending/building.rst:54 msgid "" "Python 3.12 and newer no longer come with distutils. Please refer to the " "``setuptools`` documentation at https://setuptools.readthedocs.io/en/latest/" "setuptools.html to learn more about how build and distribute C/C++ " "extensions with setuptools." msgstr "" #~ 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." #~ 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í:" #~ 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::" #~ 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`." #~ 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." #~ 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`." #~ 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." #~ 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::" #~ 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." #~ msgid "Distributing your extension modules" #~ msgstr "Distribuyendo sus módulos de extensión" #~ 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." #~ 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::" #~ 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::" #~ 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." #~ 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.::"