# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # tomo, 2018 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-02-09 18:48+0900\n" "PO-Revision-Date: 2018-06-29 17:50+0000\n" "Last-Translator: tomo, 2018\n" "Language-Team: Japanese (https://www.transifex.com/python-doc/teams/5390/" "ja/)\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../c-api/stable.rst:7 msgid "Stable Application Binary Interface" msgstr "安定 ABI (Stable Appliction Binary Interface)" #: ../../c-api/stable.rst:9 msgid "" "Traditionally, the C API of Python will change with every release. Most " "changes will be source-compatible, typically by only adding API, rather than " "changing existing API or removing API (although some interfaces do get " "removed after being deprecated first)." msgstr "" "伝統的に Python の C API はリリース毎に変更されます。多くの変更はソース互換性" "を保っていて、既存の API を変更したり取り除いたりすることはありません (ただ" "し、いくつかの API は、一旦非推奨と指定された後に、削除されます)。" #: ../../c-api/stable.rst:14 msgid "" "Unfortunately, the API compatibility does not extend to binary compatibility " "(the ABI). The reason is primarily the evolution of struct definitions, " "where addition of a new field, or changing the type of a field, might not " "break the API, but can break the ABI. As a consequence, extension modules " "need to be recompiled for every Python release (although an exception is " "possible on Unix when none of the affected interfaces are used). In " "addition, on Windows, extension modules link with a specific pythonXY.dll " "and need to be recompiled to link with a newer one." msgstr "" "残念ながら API の互換性はバイナリレベルの互換性 (ABI) までには適用されませ" "ん。その理由は主に、構造体フィールドの新規追加や型の変更によって、たとえ API " "は壊れなくても ABI は壊れてしまうからです。その結果として、拡張モジュールを " "Python のリリース毎に再コンパイルする必要があります (Unix でその影響を受ける" "インターフェイスが使用されていない場合は例外かもしれませんが)。また、 " "Windows では、何らかの pythonXY.dll とリンクしている拡張モジュールは、再コン" "パイルした後に新しい dll とリンクし直す必要があります。" #: ../../c-api/stable.rst:23 msgid "" "Since Python 3.2, a subset of the API has been declared to guarantee a " "stable ABI. Extension modules wishing to use this API (called \"limited " "API\") need to define ``Py_LIMITED_API``. A number of interpreter details " "then become hidden from the extension module; in return, a module is built " "that works on any 3.x version (x>=2) without recompilation." msgstr "" "Python 3.2 以降では、安定 ABI を保証するための API サブセットが宣言されていま" "す。拡張モジュールでこのAPI (\"limited API\" と呼ばれます) を使うには " "``Py_LIMITED_API`` を定義してください。拡張モジュールの細部は大部分隠蔽され、" "代わりに再コンパイルなしにバージョン 3.x (x>=2) 上で動くモジュールがビルドさ" "れます。" #: ../../c-api/stable.rst:29 msgid "" "In some cases, the stable ABI needs to be extended with new functions. " "Extension modules wishing to use these new APIs need to set " "``Py_LIMITED_API`` to the ``PY_VERSION_HEX`` value (see :ref:" "`apiabiversion`) of the minimum Python version they want to support (e.g. " "``0x03030000`` for Python 3.3). Such modules will work on all subsequent " "Python releases, but fail to load (because of missing symbols) on the older " "releases." msgstr "" "いくつかのケースでは、安定 ABI を新しい関数で拡張する必要があります。これらの" "新しい API を使用したい拡張モジュールは、 ``Py_LIMITED_API`` にサポートしたい" "最小の Python バージョンの ``PY_VERSION_HEX`` の値 (:ref:`apiabiversion` を" "参照) を設定してください。 (例えば Python3.3 なら ``0x03030000``)。 モジュー" "ルは後続のすべての Pythonリリースで動作しますが、 (シンボルが存在しないため) " "古いリリースでは動作しません。" #: ../../c-api/stable.rst:36 msgid "" "As of Python 3.2, the set of functions available to the limited API is " "documented in :pep:`384`. In the C API documentation, API elements that are " "not part of the limited API are marked as \"Not part of the limited API.\"" msgstr "" "Python 3.2 からは limited API は :pep:`384` に文書化されています。 C API のド" "キュメントでは、 limited API の一部でない API は、 \"Not part of the limited " "API\" とマークされています。"