# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # python-doc bot, 2025 # b785ccb154ea7c5e4722f287fb17d327_f3b4082, 2026 # Inada Naoki , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.15\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-10-23 18:01+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: Inada Naoki , 2026\n" "Language-Team: Japanese (https://app.transifex.com/python-doc/teams/5390/" "ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../using/ios.rst:5 msgid "Using Python on iOS" msgstr "iOS で Python を使う" #: ../../using/ios.rst:0 msgid "Authors" msgstr "著者" #: ../../using/ios.rst:8 msgid "Russell Keith-Magee (2024-03)" msgstr "Russell Keith-Magee (2024-03)" #: ../../using/ios.rst:10 msgid "" "Python on iOS is unlike Python on desktop platforms. On a desktop platform, " "Python is generally installed as a system resource that can be used by any " "user of that computer. Users then interact with Python by running a :program:" "`python` executable and entering commands at an interactive prompt, or by " "running a Python script." msgstr "" "iOS における Pythonは、デスクトッププラットフォームにおける Python とは異なり" "ます。 デスクトッププラットフォームでは、 Python は一般的にコンピューターのど" "のユーザーでも使えるシステムリソースとしてインストールされます。そして、ユー" "ザーは :program:`python` 実行可能ファイルを実行して対話型プロンプトにコマンド" "を入力したり、 Python スクリプトを実行したりして、 Python を使用することがで" "きるのです。" #: ../../using/ios.rst:16 msgid "" "On iOS, there is no concept of installing as a system resource. The only " "unit of software distribution is an \"app\". There is also no console where " "you could run a :program:`python` executable, or interact with a Python REPL." msgstr "" "iOS においては、システムリソースとしてのインストールという概念はありません。" "ソフトウェア配布が可能なのは、 \"アプリ\" だけです。また、 :program:`python` " "実行可能ファイルを実行したり、 Python の REPL を使用したりする、コンソールも" "存在しません。" #: ../../using/ios.rst:20 msgid "" "As a result, the only way you can use Python on iOS is in embedded mode - " "that is, by writing a native iOS application, and embedding a Python " "interpreter using ``libPython``, and invoking Python code using the :ref:" "`Python embedding API `. The full Python interpreter, the " "standard library, and all your Python code is then packaged as a standalone " "bundle that can be distributed via the iOS App Store." msgstr "" "このため、 Python を iOS 上で使うただ一つの方法は、埋め込みモード、つまり、ネ" "イティブ iOS アプリケーションを書き、 ``libPython`` を使用して Python イン" "タープリタを埋め込み、そして :ref:`Python 埋め込み API ` を使用し" "て Python コードを呼び出すことです。 それにより、完全な Python インタープリ" "タ、標準ライブラリ、 及び Python のコードが、 iOS App Store を経由して配布可" "能なスタンドアローンなバンドルとしてパッケージ化されます。" msgid "" "If you're looking to experiment for the first time with writing an iOS app " "in Python, projects such as `BeeWare `__, `Kivy " "`__, and `Flet `__ will provide a much " "more approachable user experience. These projects manage the complexities " "associated with getting an iOS project running, so you only need to deal " "with the Python code itself." msgstr "" "Python で iOS アプリを書くのを初めて試す場合は、`BeeWare `__、`Kivy `__、`Flet `__ などのプロ" "ジェクトを使うと、はるかに取り組みやすくなります。\n" "これらのプロジェクトが iOS プロジェクトを動作させるための複雑な処理を引き受け" "るので、Python コードそのものにだけ取り組めます。" #: ../../using/ios.rst:34 msgid "Python at runtime on iOS" msgstr "iOS ランタイムでの Python" #: ../../using/ios.rst:37 msgid "iOS version compatibility" msgstr "iOS のバージョン互換性" #: ../../using/ios.rst:39 msgid "" "The minimum supported iOS version is specified at compile time, using the :" "option:`--host` option to ``configure``. By default, when compiled for iOS, " "Python will be compiled with a minimum supported iOS version of 13.0. To use " "a different minimum iOS version, provide the version number as part of the :" "option:`!--host` argument - for example, ``--host=arm64-apple-ios15.4-" "simulator`` would compile an ARM64 simulator build with a deployment target " "of 15.4." msgstr "" "サポートされる最小の iOS バージョンは、コンパイル時に ``configure`` の :" "option:`--host` オプションを使用して指定できます。デフォルトでは、 iOS 用にコ" "ンパイルする場合、 Python は最小で 13.0 の iOS バージョンをサポートするように" "コンパイルされます。異なる最小 iOS バージョンを使用するには、 :option:`!--" "host` 引数の一部としてバージョン番号を提供します。例えば ``--host=arm64-" "apple-ios15.4-simulator`` とすると、 ARM64 シミュレーター用のビルドを " "Deployment Target 15.4 でコンパイルします。" #: ../../using/ios.rst:48 msgid "Platform identification" msgstr "プラットフォームの識別" #: ../../using/ios.rst:50 msgid "" "When executing on iOS, ``sys.platform`` will report as ``ios``. This value " "will be returned on an iPhone or iPad, regardless of whether the app is " "running on the simulator or a physical device." msgstr "" "iOS 上で実行している場合、 ``sys.platform`` は ``ios`` となります。アプリがシ" "ミュレーターで実行されているか、物理デバイスで実行されているかにかかわらず、 " "iPhone または iPad ではこの値となります。" #: ../../using/ios.rst:54 msgid "" "Information about the specific runtime environment, including the iOS " "version, device model, and whether the device is a simulator, can be " "obtained using :func:`platform.ios_ver`. :func:`platform.system` will report " "``iOS`` or ``iPadOS``, depending on the device." msgstr "" "iOS バージョンやデバイスのモデル、デバイスがシミュレーターであるかどうかを含" "めた、特定のランタイム環境についての情報は、 :func:`platform.ios_ver` を使用" "して取得できます。 :func:`platform.system` は、デバイスにより ``iOS`` または " "``iPadOS`` を報告します。" #: ../../using/ios.rst:59 msgid "" ":func:`os.uname` reports kernel-level details; it will report a name of " "``Darwin``." msgstr "" ":func:`os.uname` は、カーネルレベルの詳細を報告します。これは ``Darwin`` の名" "前を報告します。" #: ../../using/ios.rst:63 msgid "Standard library availability" msgstr "標準ライブラリの利用可能性" #: ../../using/ios.rst:65 msgid "" "The Python standard library has some notable omissions and restrictions on " "iOS. See the :ref:`API availability guide for iOS ` for " "details." msgstr "" "Python の 標準ライブラリには、 iOS におけるいくつかの重要な省略や制限がありま" "す。詳細は :ref:`iOS 向けの API 利用可能性ガイド ` を参" "照してください。" #: ../../using/ios.rst:70 msgid "Binary extension modules" msgstr "バイナリ拡張モジュール" #: ../../using/ios.rst:72 msgid "" "One notable difference about iOS as a platform is that App Store " "distribution imposes hard requirements on the packaging of an application. " "One of these requirements governs how binary extension modules are " "distributed." msgstr "" "プラットフォームとしての iOS についての重要な違いの一つは、 App Store での配" "布がアプリケーションのパッケージングに厳しい条件を課すということです。 これら" "の条件の一つは、バイナリ拡張モジュールの配布方法を規定します。" #: ../../using/ios.rst:76 msgid "" "The iOS App Store requires that *all* binary modules in an iOS app must be " "dynamic libraries, contained in a framework with appropriate metadata, " "stored in the ``Frameworks`` folder of the packaged app. There can be only a " "single binary per framework, and there can be no executable binary material " "outside the ``Frameworks`` folder." msgstr "" "iOS App Store では、 iOS アプリの全てのバイナリモジュールが、パッケージ化され" "たアプリの ``Frameworks`` フォルダに保存された、適切なメタデータ付きのフレー" "ムワークに含まれる動的ライブラリである必要があります。フレームワークごとにバ" "イナリは一つだけで、 ``Frameworks`` フォルダの外に実行可能バイナリデータを設" "置することはできません。" #: ../../using/ios.rst:82 msgid "" "This conflicts with the usual Python approach for distributing binaries, " "which allows a binary extension module to be loaded from any location on " "``sys.path``. To ensure compliance with App Store policies, an iOS project " "must post-process any Python packages, converting ``.so`` binary modules " "into individual standalone frameworks with appropriate metadata and signing. " "For details on how to perform this post-processing, see the guide for :ref:" "`adding Python to your project `." msgstr "" "これは、バイナリ拡張モジュールが ``sys.path`` 上のどの場所からでも読み込み可" "能な、通常の Python のバイナリ配布のアプローチと衝突します。 確実に App " "Store ポリシーに従うために、 iOS プロジェクトはいずれの Python パッケージに" "も、 ``.so`` バイナリモジュールを、個別の、スタンドアローンで、適切なメタデー" "タと署名付きのフレームワークに変換する後処理を行わなければなりません。どのよ" "うに後処理を行うかの詳細は、 :ref:`プロジェクトに Python を追加する ` のガイドを参照してください。" msgid "" "To help Python discover binaries in their new location, the original ``.so`` " "file on ``sys.path`` is replaced with a ``.fwork`` file. This file is a text " "file containing the location of the framework binary, relative to the app " "bundle. To allow the framework to resolve back to the original location, the " "framework must contain a ``.origin`` file that contains the location of the " "``.fwork`` file, relative to the app bundle." msgstr "" "Python が移動先のバイナリを見つけられるように、``sys.path`` 上の元の ``.so`` " "ファイルは ``.fwork`` ファイルに置き換えられます。\n" "このテキストファイルには、アプリバンドルからの相対パスでフレームワークのバイ" "ナリの場所が記載されています。\n" "フレームワークから元の場所を逆に解決できるようにするため、フレームワークには " "``.origin`` ファイルを含める必要があります。\n" "このファイルには、アプリバンドルからの相対パスで ``.fwork`` ファイルの場所を" "記載します。" #: ../../using/ios.rst:97 msgid "" "For example, consider the case of an import ``from foo.bar import _whiz``, " "where ``_whiz`` is implemented with the binary module ``sources/foo/bar/" "_whiz.abi3.so``, with ``sources`` being the location registered on ``sys." "path``, relative to the application bundle. This module *must* be " "distributed as ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` " "(creating the framework name from the full import path of the module), with " "an ``Info.plist`` file in the ``.framework`` directory identifying the " "binary as a framework. The ``foo.bar._whiz`` module would be represented in " "the original location with a ``sources/foo/bar/_whiz.abi3.fwork`` marker " "file, containing the path ``Frameworks/foo.bar._whiz/foo.bar._whiz``. The " "framework would also contain ``Frameworks/foo.bar._whiz.framework/foo.bar." "_whiz.origin``, containing the path to the ``.fwork`` file." msgstr "" "例えば、``from foo.bar import _whiz`` をインポートする場合を考えてみましょ" "う。 ``_whiz`` がバイナリモジュール ``sources/foo/bar/_whiz.abi3.so`` で実装" "されており、 ``sources`` のアプリケーションバンドルからの相対パスが ``sys." "path`` に登録されています。このモジュールは ``Frameworks/foo.bar._whiz." "framework/foo.bar._whiz`` (フレームワーク名はモジュールの完全なインポートパス" "から命名されています) として、バイナリをフレームワークとして識別する ``Info." "plist`` ファイルを ``.framework`` ディレクトリ内に設置して配布しなければなり" "ません。 ``foo.bar._whiz`` モジュールは、元の場所で、 ``Frameworks/foo.bar." "_whiz/foo.bar._whiz`` のパスを含む ``sources/foo/bar/_whiz.abi3.fwork`` マー" "カーファイルに記述されます。 また、フレームワークは、 ``.fwork`` へのパスを含" "む ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz.origin`` も含まなければ" "なりません。" msgid "" "When running on iOS, the Python interpreter will install an :class:" "`~importlib.machinery.AppleFrameworkLoader` that is able to read and import " "``.fwork`` files. Once imported, the ``__file__`` attribute of the binary " "module will report as the location of the ``.fwork`` file. However, the :" "class:`~importlib.machinery.ModuleSpec` for the loaded module will report " "the ``origin`` as the location of the binary in the framework folder." msgstr "" "iOS 上では、Python インタープリタは ``.fwork`` ファイルを読み込んでインポート" "できる :class:`~importlib.machinery.AppleFrameworkLoader` をインストールしま" "す。\n" "インポート後、バイナリモジュールの ``__file__`` 属性は ``.fwork`` ファイルの" "場所を示します。\n" "一方、読み込まれたモジュールの :class:`~importlib.machinery.ModuleSpec` の " "``origin`` は、フレームワークフォルダ内のバイナリの場所を示します。" #: ../../using/ios.rst:118 msgid "Compiler stub binaries" msgstr "コンパイラスタブバイナリ" msgid "" "Xcode doesn't expose explicit compilers for iOS; instead, it uses an " "``xcrun`` script that resolves to a full compiler path (e.g., ``xcrun --sdk " "iphoneos clang`` to get the ``clang`` for an iPhone device). However, using " "this script poses two problems:" msgstr "" "Xcode は、 iOS 用の明示的なコンパイラを提供していません。代わりに、完全なコン" "パイラのパスを解決する ``xcrun`` スクリプトを使用します (たとえば ``xcrun --" "sdk iphoneos clang`` は iPhone デバイス用の ``clang`` を取得します) 。しか" "し、これは2つの問題を引き起こします:" #: ../../using/ios.rst:125 msgid "" "The output of ``xcrun`` includes paths that are machine specific, resulting " "in a sysconfig module that cannot be shared between users; and" msgstr "" "``xcrun`` の出力はマシン固有のパスを含み、ユーザー間で共有できない sysconfig " "モジュールにつながり、" msgid "" "It results in ``CC``/``CPP``/``LD``/``AR`` definitions that include spaces. " "There is a lot of C ecosystem tooling that assumes that you can split a " "command line at the first space to get the path to the compiler executable; " "this isn't the case when using ``xcrun``." msgstr "" "``CC``/``CPP``/``LD``/``AR`` の定義にスペースが含まれることになります。\n" "C のエコシステムには、コマンドラインを最初のスペースで区切るとコンパイラの実" "行可能ファイルのパスが得られると仮定するツールが多くあります。\n" "``xcrun`` を使う場合は、この仮定が成り立ちません。" #: ../../using/ios.rst:133 msgid "" "To avoid these problems, Python provided stubs for these tools. These stubs " "are shell script wrappers around the underingly ``xcrun`` tools, distributed " "in a ``bin`` folder distributed alongside the compiled iOS framework. These " "scripts are relocatable, and will always resolve to the appropriate local " "system paths. By including these scripts in the bin folder that accompanies " "a framework, the contents of the ``sysconfig`` module becomes useful for end-" "users to compile their own modules. When compiling third-party Python " "modules for iOS, you should ensure these stub binaries are on your path." msgstr "" "これらの問題を避けるため、 Python はこれらのツール用のスタブを提供しました。" "これらのスタブは、コンパイルされた iOS フレームワークとともに配布される " "``bin`` フォルダで配布される、基礎の ``xcrun`` ツールのシェルスクリプトラッ" "パーです。これらのスクリプトは再配置可能で、常に適切なローカルシステムパスに" "解決されます。これらのスクリプトをフレームワークを伴う bin フォルダーに含める" "ことで、 ``sysconfig`` モジュールはエンドユーザーが自身のモジュールをコンパイ" "ルするのに有用になります。iOS 用の サードパーティの Python モジュールをコンパ" "イルするときは、これらのスタブバイナリがパス上にあることを確認するべきです。" #: ../../using/ios.rst:143 msgid "Installing Python on iOS" msgstr "iOS での Python のインストール" #: ../../using/ios.rst:146 msgid "Tools for building iOS apps" msgstr "iOS アプリビルド用のツール" #: ../../using/ios.rst:148 msgid "" "Building for iOS requires the use of Apple's Xcode tooling. It is strongly " "recommended that you use the most recent stable release of Xcode. This will " "require the use of the most (or second-most) recently released macOS " "version, as Apple does not maintain Xcode for older macOS versions. The " "Xcode Command Line Tools are not sufficient for iOS development; you need a " "*full* Xcode install." msgstr "" "iOS 向けのビルドには、 Apple の Xcode のツールを使用します。Xcode の最新の安" "定リリースを使用することを強く推奨します。Apple は古い macOS のバージョン向け" "には Xcode をメンテナンスしないため、これには最も (または二番目に) 最近にリ" "リースされた macOS のバージョンが必要です。 Xcode コマンドラインツールは iOS " "開発には不十分であり、完全な Xcode のインストールが必要です。" #: ../../using/ios.rst:155 msgid "" "If you want to run your code on the iOS simulator, you'll also need to " "install an iOS Simulator Platform. You should be prompted to select an iOS " "Simulator Platform when you first run Xcode. Alternatively, you can add an " "iOS Simulator Platform by selecting from the Platforms tab of the Xcode " "Settings panel." msgstr "" "iOS シミュレーター上でコードを実行したい場合は、 iOS Simulator プラットフォー" "ムもインストールする必要があります。 Xcode を初めて実行したとき、 iOS " "Simulator プラットフォームを選択するプロンプトが表示されるはずです。代わり" "に、 Xcode の Settings パネルの Platforms タブから iOS Simulator プラット" "フォームを選択して追加することもできます。" #: ../../using/ios.rst:163 msgid "Adding Python to an iOS project" msgstr "iOS プロジェクトに Python を追加する" #: ../../using/ios.rst:165 msgid "" "Python can be added to any iOS project, using either Swift or Objective C. " "The following examples will use Objective C; if you are using Swift, you may " "find a library like `PythonKit `__ to " "be helpful." msgstr "" "Python は、 Swift または Objective-C を使って、どの iOS プロジェクトにでも追" "加できます。以下の例では、 Objective-C を使用しています。 Swift を使う場合" "は、 `PythonKit `__ のようなライブラリ" "が役に立つかもしれません。" #: ../../using/ios.rst:170 msgid "To add Python to an iOS Xcode project:" msgstr "Python を iOS Xcode プロジェクトに追加するには:" msgid "" "Build or obtain a Python ``XCFramework``. See the instructions in :source:" "`Platforms/Apple/iOS/README.md` (in the CPython source distribution) for " "details on how to build a Python ``XCFramework``. At a minimum, you will " "need a build that supports ``arm64-apple-ios``, plus one of either ``arm64-" "apple-ios-simulator`` or ``x86_64-apple-ios-simulator``." msgstr "" "Python の ``XCFramework`` をビルドするか、入手します。\n" "Python の ``XCFramework`` をビルドする方法については、CPython のソース配布物" "にある :source:`Platforms/Apple/iOS/README.md` の手順を参照してください。\n" "少なくとも、``arm64-apple-ios`` と、``arm64-apple-ios-simulator`` または " "``x86_64-apple-ios-simulator`` のいずれかをサポートするビルドが必要です。" #: ../../using/ios.rst:178 msgid "" "Drag the ``XCframework`` into your iOS project. In the following " "instructions, we'll assume you've dropped the ``XCframework`` into the root " "of your project; however, you can use any other location that you want by " "adjusting paths as needed." msgstr "" "``XCframework`` を iOS プロジェクトにドラッグします。以降の説明では、 プロ" "ジェクトのルートに ``XCframework`` を設置したものと仮定しますが、パスを必要に" "応じて調整することで、他の場所を使用することも出来ます。" #: ../../using/ios.rst:183 msgid "" "Add your application code as a folder in your Xcode project. In the " "following instructions, we'll assume that your user code is in a folder " "named ``app`` in the root of your project; you can use any other location by " "adjusting paths as needed. Ensure that this folder is associated with your " "app target." msgstr "" "アプリケーションのコードを、 Xcode プロジェクトにフォルダーとして追加します。" "以降の説明では、 プロジェクトのルートに ``app`` という名前のユーザーコードが" "入ったフォルダを設置したものと仮定しますが、パスを必要に応じて調整すること" "で、他の場所を使用することも出来ます。フォルダがアプリのターゲットに関連付け" "られていることを確認してください。" msgid "" "Select the app target by selecting the root node of your Xcode project, then " "the target name in the sidebar that appears." msgstr "" "Xcode プロジェクトのルートノードを選択し、表示されたサイドバーでターゲット名" "を選択して、アプリのターゲットを選択します。" #: ../../using/ios.rst:192 msgid "" "In the \"General\" settings, under \"Frameworks, Libraries and Embedded " "Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected." msgstr "" "\"General\" の設定の \"Frameworks, Libraries and Embedded Content\" に、 " "\"Embed & Sign\" を選択して ``Python.xcframework`` を追加してください。" #: ../../using/ios.rst:195 msgid "In the \"Build Settings\" tab, modify the following:" msgstr "\"Build Settings\" タブで、次の項目を修正してください:" #: ../../using/ios.rst:197 msgid "Build Options" msgstr "Build Options" #: ../../using/ios.rst:199 msgid "User Script Sandboxing: No" msgstr "User Script Sandboxing: No" #: ../../using/ios.rst:200 msgid "Enable Testability: Yes" msgstr "Enable Testability: Yes" #: ../../using/ios.rst:202 msgid "Search Paths" msgstr "Search Paths" #: ../../using/ios.rst:204 msgid "Framework Search Paths: ``$(PROJECT_DIR)``" msgstr "Framework Search Paths: ``$(PROJECT_DIR)``" #: ../../using/ios.rst:205 msgid "" "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" msgstr "" "Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" #: ../../using/ios.rst:207 msgid "Apple Clang - Warnings - All languages" msgstr "Apple Clang - Warnings - All languages" #: ../../using/ios.rst:209 msgid "Quoted Include In Framework Header: No" msgstr "Quoted Include In Framework Header: No" msgid "" "Add a build step that processes the Python standard library, and your own " "Python binary dependencies. In the \"Build Phases\" tab, add a new \"Run " "Script\" build step *before* the \"Embed Frameworks\" step, but *after* the " "\"Copy Bundle Resources\" step. Name the step \"Process Python libraries\", " "disable the \"Based on dependency analysis\" checkbox, and set the script " "content to:" msgstr "" "Python 標準ライブラリと、アプリが依存する Python バイナリを処理するビルドス" "テップを追加します。\n" "\"Build Phases\" タブで、\"Embed Frameworks\" ステップの *前*、かつ \"Copy " "Bundle Resources\" ステップの *後* に、新しい \"Run Script\" ビルドステップを" "追加します。\n" "ステップに \"Process Python libraries\" という名前を付け、\"Based on " "dependency analysis\" チェックボックスをオフにし、スクリプトの内容を次のよう" "に設定します:" #: ../../using/ios.rst:218 msgid "" "set -e\n" "source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n" "install_python Python.xcframework app" msgstr "" "set -e\n" "source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n" "install_python Python.xcframework app" #: ../../using/ios.rst:224 msgid "" "If you have placed your XCframework somewhere other than the root of your " "project, modify the path to the first argument." msgstr "" "もし XCFramework をプロジェクトのルート以外のどこかに設置した場合は、一つ目の" "引数へのパスを修正してください。" #: ../../using/ios.rst:227 msgid "" "Add Objective C code to initialize and use a Python interpreter in embedded " "mode. You should ensure that:" msgstr "" "Python インタープリタを埋め込みモードで初期化・使用する Objective C コードを" "追加します。次のことを確認する必要があります:" #: ../../using/ios.rst:230 msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;" msgstr "" "UTF-8 モード (:c:member:`PyPreConfig.utf8_mode`) が *有効* になっていること" #: ../../using/ios.rst:231 msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;" msgstr "" "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) が *無効* になっているこ" "と" #: ../../using/ios.rst:232 msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;" msgstr "" "バイトコードの書き込み (:c:member:`PyConfig.write_bytecode`) が *無効* になっ" "ていること" #: ../../using/ios.rst:233 msgid "" "Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;" msgstr "" "シグナルハンドラ (:c:member:`PyConfig.install_signal_handlers`) が *有効* に" "なっていること" #: ../../using/ios.rst:234 msgid "" "System logging (:c:member:`PyConfig.use_system_logger`) is *enabled* " "(optional, but strongly recommended; this is enabled by default);" msgstr "" "システムログ (:c:member:`PyConfig.use_system_logger`) が *有効* になっている" "こと (オプションですが、強く推奨され、デフォルトで有効化されています)" #: ../../using/ios.rst:236 msgid "" ":envvar:`PYTHONHOME` for the interpreter is configured to point at the " "``python`` subfolder of your app's bundle; and" msgstr "" "インタープリタの :envvar:`PYTHONHOME` がアプリバンドルの ``python`` サブフォ" "ルダを指すように構成されていること" #: ../../using/ios.rst:238 msgid "The :envvar:`PYTHONPATH` for the interpreter includes:" msgstr "インタープリタの :envvar:`PYTHONPATH` が次のものを含むこと" #: ../../using/ios.rst:240 msgid "the ``python/lib/python3.X`` subfolder of your app's bundle," msgstr "アプリのバンドルの ``python/lib/python3.X`` サブフォルダ" #: ../../using/ios.rst:241 msgid "" "the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and" msgstr "アプリのバンドルの ``python/lib/python3.X/lib-dynload`` サブフォルダ" #: ../../using/ios.rst:242 msgid "the ``app`` subfolder of your app's bundle" msgstr "アプリのバンドルの ``app`` サブフォルダ" #: ../../using/ios.rst:244 msgid "" "Your app's bundle location can be determined using ``[[NSBundle mainBundle] " "resourcePath]``." msgstr "" "アプリのバンドルの場所は ``[[NSBundle mainBundle] resourcePath]`` を用いて取" "得できます。" #: ../../using/ios.rst:247 msgid "" "Steps 7 and 8 of these instructions assume that you have a single folder of " "pure Python application code, named ``app``. If you have third-party binary " "modules in your app, some additional steps will be required:" msgstr "" "これらの説明の手順 7, 8 は ``app`` という名前のただ一つの純粋な Python アプリ" "ケーションのコードのフォルダがあることを前提としています。もしサードパーティ" "のバイナリモジュールがアプリに含まれる場合は、いくつかの追加の手順が必要です:" #: ../../using/ios.rst:251 msgid "" "You need to ensure that any folders containing third-party binaries are " "either associated with the app target, or are explicitly copied as part of " "step 7. Step 7 should also purge any binaries that are not appropriate for " "the platform a specific build is targeting (i.e., delete any device binaries " "if you're building an app targeting the simulator)." msgstr "" "サードパーティのバイナリを含むフォルダが、アプリのターゲットに関連付けられて" "いる、または手順 7 の一部として明示的にコピーされていることを確認する必要があ" "ります。手順 7 では、特定のビルドがターゲットとするプラットフォームに適切でな" "いバイナリを取り除く(つまり、もしシミュレーターをターゲットとするアプリをビル" "ドしている場合は、デバイスバイナリを削除する)ことも必要です。" #: ../../using/ios.rst:257 msgid "" "If you're using a separate folder for third-party packages, ensure that " "folder is added to the end of the call to ``install_python`` in step 7, and " "as part of the :envvar:`PYTHONPATH` configuration in step 8." msgstr "" "サードパーティのパッケージに別のフォルダを使用している場合は、手順 7 でフォル" "ダが ``install_python`` の呼び出しの末尾に追加され、手順 8 の :envvar:" "`PYTHONPATH` 設定の一つとして追加されていることを確認してください。" #: ../../using/ios.rst:261 msgid "" "If any of the folders that contain third-party packages will contain ``." "pth`` files, you should add that folder as a *site directory* (using :meth:" "`site.addsitedir`), rather than adding to :envvar:`PYTHONPATH` or :attr:`sys." "path` directly." msgstr "" "サードパーティパッケージを含むフォルダが ``.pth`` ファイルを含む場合、直接 :" "envvar:`PYTHONPATH` や :attr:`sys.path` に追加するのではなく、そのフォルダを " "(:meth:`site.addsitedir` を使用して) サイトディレクトリとして追加する必要があ" "ります。" #: ../../using/ios.rst:267 msgid "Testing a Python package" msgstr "Python パッケージのテスト" msgid "" "The CPython source tree contains :source:`a testbed project ` that is used to run the CPython test suite on the iOS simulator. " "This testbed can also be used as a testbed project for running your Python " "library's test suite on iOS." msgstr "" "CPython ソースツリーには、iOS シミュレータ上で CPython のテストスイートを実行" "するための :source:`テストベッドプロジェクト ` が含" "まれています。\n" "このテストベッドは、自分の Python ライブラリのテストスイートを iOS 上で実行す" "るためのテストベッドプロジェクトとしても使用できます。" msgid "" "After building or obtaining an iOS XCFramework (see :source:`Platforms/Apple/" "iOS/README.md` for details), create a clone of the Python iOS testbed " "project. If you used the ``Platforms/Apple`` build script to build the " "XCframework, you can run:" msgstr "" "iOS 用の XCFramework をビルドするか入手したら (:source:`Platforms/Apple/iOS/" "README.md` を参照)、Python の iOS テストベッドプロジェクトのクローンを作成し" "ます。\n" "``Platforms/Apple`` ビルドスクリプトを使って XCframework をビルドした場合は、" "次のコマンドを実行できます:" #: ../../using/ios.rst:277 msgid "" "$ python cross-build/iOS/testbed clone --app --app app-testbed" msgstr "" "$ python cross-build/iOS/testbed clone --app --app app-testbed" #: ../../using/ios.rst:281 msgid "Or, if you've sourced your own XCframework, by running:" msgstr "" "もしくは、独自の XCFramework を調達した場合は、次のコマンドを実行して行えま" "す:" msgid "" "$ python Platforms/Apple/testbed clone --platform iOS --framework --app --app app-" "testbed" msgstr "" "$ python Platforms/Apple/testbed clone --platform iOS --framework --app --app app-" "testbed" #: ../../using/ios.rst:287 msgid "" "Any folders specified with the ``--app`` flag will be copied into the cloned " "testbed project. The resulting testbed will be created in the ``app-" "testbed`` folder. In this example, the ``module1`` and ``module2`` would be " "importable modules at runtime. If your project has additional dependencies, " "they can be installed into the ``app-testbed/Testbed/app_packages`` folder " "(using ``pip install --target app-testbed/Testbed/app_packages`` or similar)." msgstr "" "``--app`` フラグで指定されたフォルダは、複製されたテストベッドプロジェクトに" "コピーされます。結果として得られるテストベッドは、 ``app-testbed`` フォルダの" "中に作成されます。この例では、 ``module1`` と ``module2`` が、実行時にイン" "ポート可能なモジュールとなります。プロジェクトに追加の依存関係がある場合は、 " "(``pip install --target app-testbed/Testbed/app_packages`` をなど使用して) そ" "れらは ``app-testbed/Testbed/app_packages`` フォルダの中にインストールできま" "す。" msgid "" "You can then use the ``app-testbed`` folder to run the test suite for your " "app, For example, if ``module1.tests`` was the entry point to your test " "suite, you could run:" msgstr "" "これで、``app-testbed`` フォルダを使ってアプリのテストスイートを実行できま" "す。\n" "例えば、テストスイートのエントリーポイントが ``module1.tests`` であれば、次の" "コマンドを実行できます:" #: ../../using/ios.rst:298 msgid "$ python app-testbed run -- module1.tests" msgstr "$ python app-testbed run -- module1.tests" msgid "" "This is the equivalent of running ``python -m module1.tests`` on a desktop " "Python build. Any arguments after the ``--`` will be passed to the testbed " "as if they were arguments to ``python -m`` on a desktop machine." msgstr "" "これは、デスクトップ用の Python ビルドで ``python -m module1.tests`` を実行す" "ることに相当します。\n" "``--`` の後にある引数は、デスクトップマシンで ``python -m`` に渡す引数と同じ" "ようにテストベッドに渡されます。" msgid "You can also open the testbed project in Xcode by running:" msgstr "" "次のコマンドを実行して、テストベッドプロジェクトを Xcode で開くこともできま" "す:" #: ../../using/ios.rst:308 msgid "$ open app-testbed/iOSTestbed.xcodeproj" msgstr "$ open app-testbed/iOSTestbed.xcodeproj" msgid "This will allow you to use the full Xcode suite of tools for debugging." msgstr "これにより、デバッグに Xcode のすべてのツールを使用できます。" msgid "" "The arguments used to run the test suite are defined as part of the test " "plan. To modify the test plan, select the test plan node of the project tree " "(it should be the first child of the root node), and select the " "\"Configurations\" tab. Modify the \"Arguments Passed On Launch\" value to " "change the testing arguments." msgstr "" "テストスイートを実行するための引数は、テストプランの一部として定義されていま" "す。\n" "テストプランを変更するには、プロジェクトツリーのテストプランノード (ルート" "ノードの最初の子ノードのはずです) を選択し、\"Configurations\" タブを選択しま" "す。\n" "\"Arguments Passed On Launch\" の値を変更すると、テストの引数を変更できます。" msgid "" "The test plan also disables parallel testing, and specifies the use of the " "``Testbed.lldbinit`` file for providing configuration of the debugger. The " "default debugger configuration disables automatic breakpoints on the " "``SIGINT``, ``SIGUSR1``, ``SIGUSR2``, and ``SIGXFSZ`` signals." msgstr "" "テストプランでは並列テストも無効にし、デバッガの設定に ``Testbed.lldbinit`` " "ファイルを使うように指定しています。\n" "デフォルトのデバッガ設定では、``SIGINT``、``SIGUSR1``、``SIGUSR2``、" "``SIGXFSZ`` シグナルによる自動ブレークポイントを無効にしています。" #: ../../using/ios.rst:326 msgid "App Store Compliance" msgstr "App Store コンプライアンス" msgid "" "The only mechanism for distributing apps to third-party iOS devices is to " "submit the app to the iOS App Store; apps submitted for distribution must " "pass Apple's app review process. This process includes a set of automated " "validation rules that inspect the submitted application bundle for " "problematic code. There are some steps that must be taken to ensure that " "your app will be able to pass these validation steps." msgstr "" "第三者の iOS デバイスにアプリを配布するには、iOS App Store にアプリを提出する" "しかありません。\n" "配布のために提出したアプリは、Apple のアプリ審査に合格する必要があります。\n" "この審査には、提出されたアプリケーションバンドル内に問題のあるコードがないか" "を調べる、一連の自動検証ルールが含まれています。\n" "アプリがこの検証に合格できるようにするには、いくつかの手順を実施する必要があ" "ります。" #: ../../using/ios.rst:336 msgid "Incompatible code in the standard library" msgstr "標準ライブラリ内の互換性のないコード" #: ../../using/ios.rst:338 msgid "" "The Python standard library contains some code that is known to violate " "these automated rules. While these violations appear to be false positives, " "Apple's review rules cannot be challenged; so, it is necessary to modify the " "Python standard library for an app to pass App Store review." msgstr "" "Python の標準ライブラリには、これらの自動ルールに違反することが知られている" "コードがいくつか含まれています。これらの違反は誤検出であると思われますが、 " "Apple の審査ルールに異議を唱えることはできません。そのため、 Python の標準ラ" "イブラリを、アプリが App Store 審査に合格するよう修正する必要があります。" #: ../../using/ios.rst:343 msgid "" "The Python source tree contains :source:`a patch file ` that will remove all code that is known to cause " "issues with the App Store review process. This patch is applied " "automatically when building for iOS." msgstr "" "Python のソースツリーは、 App Store 審査プロセスで問題を引き起こすことが知ら" "れているすべてのコードを削除する :source:`パッチファイル ` を含んでいます。このパッチは iOS 用のビルド時に自動" "的に適用されます。" #: ../../using/ios.rst:349 msgid "Privacy manifests" msgstr "プライバシーマニフェスト" msgid "" "In April 2025, Apple introduced a requirement for `certain third-party " "libraries to provide a Privacy Manifest `__. As a result, if you have a binary module " "that uses one of the affected libraries, you must provide an ``.xcprivacy`` " "file for that library. OpenSSL is one library affected by this requirement, " "but there are others." msgstr "" "2025 年 4 月、Apple は `特定のサードパーティライブラリにプライバシーマニフェ" "ストの提供を義務付けました `__。\n" "そのため、対象となるライブラリを使うバイナリモジュールがある場合は、そのライ" "ブラリ用の ``.xcprivacy`` ファイルを提供する必要があります。\n" "OpenSSL はこの要件の対象となるライブラリの一つですが、ほかにも対象のライブラ" "リがあります。" msgid "" "If you produce a binary module named ``mymodule.so``, and use you the Xcode " "build script described in step 7 above, you can place a ``mymodule." "xcprivacy`` file next to ``mymodule.so``, and the privacy manifest will be " "installed into the required location when the binary module is converted " "into a framework." msgstr "" "``mymodule.so`` という名前のバイナリモジュールを作成し、上記の手順 7 で説明し" "た Xcode ビルドスクリプトを使用する場合は、``mymodule.so`` と同じ場所に " "``mymodule.xcprivacy`` ファイルを配置できます。\n" "バイナリモジュールをフレームワークに変換する際に、プライバシーマニフェストが" "必要な場所にインストールされます。"