# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-09 14:19+0000\n" "PO-Revision-Date: 2021-06-28 00:51+0000\n" "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../extending/building.rst:7 msgid "Building C and C++ Extensions" msgstr "" #: ../../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 "" #: ../../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 setuptools, the correct filename is " "generated automatically." msgstr "" #: ../../extending/building.rst:16 msgid "The initialization function has the signature:" msgstr "" #: ../../extending/building.rst:20 msgid "" "It returns either a fully initialized module, or a :c:type:`PyModuleDef` " "instance. See :ref:`initializing-modules` for details." msgstr "" #: ../../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 "" #: ../../extending/building.rst:32 msgid "" "def initfunc_name(name):\n" " try:\n" " suffix = b'_' + name.encode('ascii')\n" " except UnicodeEncodeError:\n" " suffix = b'U_' + name.encode('punycode').replace(b'-', b'_')\n" " return b'PyInit' + suffix" msgstr "" #: ../../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 "" #: ../../extending/building.rst:52 msgid "Building C and C++ Extensions with setuptools" msgstr "" #: ../../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 ""