GitHub Viewer
# German translation of the Python documentation.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Swen Bachmann, 2026
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.15\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-22 12:07+0200\n"
"PO-Revision-Date: 2026-10-10 19:30+0200\n"
"Last-Translator: python-doc bot, 2025\n"
"Language-Team: German (https://github.com/python/python-docs-de)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../using/ios.rst:5
msgid "Using Python on iOS"
msgstr "Python unter iOS verwenden"
#: ../../using/ios.rst:0
msgid "Authors"
msgstr "Autoren"
#: ../../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 ""
"Python unter iOS unterscheidet sich von Python auf Desktop-Plattformen. Auf "
"einer Desktop-Plattform wird Python in der Regel als Systemressource "
"installiert, die von jedem Benutzer dieses Computers verwendet werden kann. "
"Nutzer interagieren dann mit Python, indem sie eine ausführbare Datei :"
"program:`python` starten und Befehle an einer interaktiven "
"Eingabeaufforderung eingeben, oder indem sie ein Python-Skript ausführen."
#: ../../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 ""
"Unter iOS gibt es kein Konzept der Installation als Systemressource. Die "
"einzige Verteilungseinheit für Software ist eine \"App\". Es gibt auch keine "
"Konsole, in der du eine ausführbare Datei :program:`python` starten oder mit "
"einem Python-REPL interagieren könntest."
#: ../../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 ""
"Infolgedessen ist die einzige Möglichkeit, Python unter iOS zu verwenden, "
"der eingebettete Modus – das heißt, indem du eine native iOS-Anwendung "
"schreibst, einen Python-Interpreter mithilfe von ``libPython`` einbettest "
"und Python-Code über die :ref:`Python-Einbettungs-API ` aufrufst. "
"Der vollständige Python-Interpreter, die Standardbibliothek und dein "
"gesamter Python-Code werden dann als eigenständiges Paket gebündelt, das "
"über den iOS App Store vertrieben werden kann."
#: ../../using/ios.rst:27
msgid ""
"If you're looking to experiment for the first time with writing an iOS app "
"in Python, projects such as `BeeWare `__ and `Kivy "
"`__ 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 ""
"Wenn du zum ersten Mal damit experimentieren möchtest, eine iOS-App in "
"Python zu schreiben, bieten dir Projekte wie `BeeWare `__ und `Kivy `__ eine deutlich zugänglichere "
"Nutzererfahrung. Diese Projekte übernehmen die Komplexität, die mit dem Zum-"
"Laufen-Bringen eines iOS-Projekts verbunden ist, sodass du dich nur um den "
"eigentlichen Python-Code kümmern musst."
#: ../../using/ios.rst:34
msgid "Python at runtime on iOS"
msgstr "Python zur Laufzeit unter iOS"
#: ../../using/ios.rst:37
msgid "iOS version compatibility"
msgstr "iOS-Versionskompatibilität"
#: ../../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 ""
"Die minimal unterstützte iOS-Version wird zur Kompilierzeit über die Option :"
"option:`--host` von ``configure`` festgelegt. Standardmäßig wird Python bei "
"der Kompilierung für iOS mit einer minimal unterstützten iOS-Version von "
"13.0 kompiliert. Um eine andere minimale iOS-Version zu verwenden, gib die "
"Versionsnummer als Teil des Arguments :option:`!--host` an – zum Beispiel "
"würde ``--host=arm64-apple-ios15.4-simulator`` einen ARM64-Simulator-Build "
"mit einem Deployment-Ziel von 15.4 kompilieren."
#: ../../using/ios.rst:48
msgid "Platform identification"
msgstr "Plattform-Identifikation"
#: ../../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 ""
"Bei der Ausführung unter iOS gibt ``sys.platform`` den Wert ``ios`` zurück. "
"Dieser Wert wird sowohl auf einem iPhone als auch auf einem iPad "
"zurückgegeben, unabhängig davon, ob die App im Simulator oder auf einem "
"physischen Gerät läuft."
#: ../../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 ""
"Informationen zur konkreten Laufzeitumgebung, einschließlich der iOS-"
"Version, des Gerätemodells und ob es sich um einen Simulator handelt, können "
"mit :func:`platform.ios_ver` abgerufen werden. :func:`platform.system` gibt "
"je nach Gerät ``iOS`` oder ``iPadOS`` zurück."
#: ../../using/ios.rst:59
msgid ""
":func:`os.uname` reports kernel-level details; it will report a name of "
"``Darwin``."
msgstr ""
":func:`os.uname` gibt Details auf Kernel-Ebene zurück. Es wird der Name "
"``Darwin`` gemeldet."
#: ../../using/ios.rst:63
msgid "Standard library availability"
msgstr "Verfügbarkeit der Standardbibliothek"
#: ../../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 ""
"Die Python-Standardbibliothek weist unter iOS einige wesentliche "
"Auslassungen und Einschränkungen auf. Siehe den :ref:`API-"
"Verfügbarkeitsleitfaden für iOS ` für Details."
#: ../../using/ios.rst:70
msgid "Binary extension modules"
msgstr "Binäre Erweiterungsmodule"
#: ../../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 ""
"Ein wesentlicher Unterschied bei iOS als Plattform ist, dass die Verteilung "
"über den App Store strenge Anforderungen an die Paketierung einer Anwendung "
"stellt. Eine dieser Anforderungen regelt, wie binäre Erweiterungsmodule "
"verteilt werden."
#: ../../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 ""
"Der iOS App Store verlangt, dass *alle* Binärmodule in einer iOS-App "
"dynamische Bibliotheken sein müssen, die in einem Framework mit "
"entsprechenden Metadaten enthalten sind und im Ordner ``Frameworks`` der "
"gepackten App gespeichert werden. Pro Framework darf es nur eine einzige "
"Binärdatei geben, und außerhalb des Ordners ``Frameworks`` darf sich kein "
"ausführbares Binärmaterial befinden."
#: ../../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 ""
"Dies steht im Widerspruch zum üblichen Python-Ansatz zur Verteilung von "
"Binärdateien, der es erlaubt, ein binäres Erweiterungsmodul von einem "
"beliebigen Ort in ``sys.path`` zu laden. Um die Einhaltung der App-Store-"
"Richtlinien sicherzustellen, muss ein iOS-Projekt jedes Python-Paket "
"nachbearbeiten und dabei ``.so``-Binärmodule in einzelne, eigenständige "
"Frameworks mit entsprechenden Metadaten und Signatur umwandeln. Details zur "
"Durchführung dieser Nachbearbeitung findest du im Leitfaden zum :ref:"
"`Hinzufügen von Python zu deinem Projekt `."
#: ../../using/ios.rst:90
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 ""
"Damit Python die Binärdateien an ihrem neuen Speicherort finden kann, wird "
"die ursprüngliche ``.so``-Datei in ``sys.path`` durch eine ``.fwork``-Datei "
"ersetzt. Diese Datei ist eine Textdatei, die den Speicherort der Framework-"
"Binärdatei relativ zum App-Bundle enthält. Damit das Framework wieder zum "
"ursprünglichen Speicherort zurückfinden kann, muss es eine ``.origin``-Datei "
"enthalten, die den Speicherort der ``.fwork``-Datei relativ zum App-Bundle "
"enthält."
#: ../../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 ""
"Betrachte zum Beispiel den Fall eines Imports ``from foo.bar import _whiz``, "
"wobei ``_whiz`` mit dem Binärmodul ``sources/foo/bar/_whiz.abi3.so`` "
"implementiert ist, wobei ``sources`` der auf ``sys.path`` registrierte "
"Speicherort relativ zum Anwendungsbündel ist. Dieses Modul *muss* als "
"``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` verteilt werden (wobei "
"der Framework-Name aus dem vollständigen Importpfad des Moduls gebildet "
"wird), mit einer ``Info.plist``-Datei im ``.framework``-Verzeichnis, die die "
"Binärdatei als Framework identifiziert. Das Modul ``foo.bar._whiz`` würde am "
"ursprünglichen Speicherort durch eine Markierungsdatei ``sources/foo/bar/"
"_whiz.abi3.fwork`` repräsentiert, die den Pfad ``Frameworks/foo.bar._whiz/"
"foo.bar._whiz`` enthält. Das Framework würde außerdem ``Frameworks/foo.bar."
"_whiz.framework/foo.bar._whiz.origin`` enthalten, welches den Pfad zur ``."
"fwork``-Datei enthält."
#: ../../using/ios.rst:110
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 ""
"Beim Ausführen unter iOS installiert der Python-Interpreter einen :class:"
"`~importlib.machinery.AppleFrameworkLoader`, der in der Lage ist, ``.fwork``-"
"Dateien zu lesen und zu importieren. Nach dem Import gibt das Attribut "
"``__file__`` des Binärmoduls den Speicherort der ``.fwork``-Datei an. Die :"
"class:`~importlib.machinery.ModuleSpec` des geladenen Moduls gibt jedoch als "
"``origin`` den Speicherort der Binärdatei im Framework-Ordner an."
#: ../../using/ios.rst:118
msgid "Compiler stub binaries"
msgstr "Compiler-Stub-Binärdateien"
#: ../../using/ios.rst:120
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 stellt für iOS keine expliziten Compiler bereit. Stattdessen verwendet "
"es ein ``xcrun``-Skript, das zu einem vollständigen Compiler-Pfad aufgelöst "
"wird (z. B. ``xcrun --sdk iphoneos clang``, um den ``clang`` für ein iPhone-"
"Gerät zu erhalten). Die Verwendung dieses Skripts bringt jedoch zwei "
"Probleme mit sich:"
#: ../../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 ""
"Die Ausgabe von ``xcrun`` enthält maschinenspezifische Pfade, was zu einem "
"sysconfig-Modul führt, das nicht zwischen Benutzern geteilt werden kann, und"
#: ../../using/ios.rst:128
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 ""
"Dies führt zu ``CC``/``CPP``/``LD``/``AR``-Definitionen, die Leerzeichen "
"enthalten. Es gibt viele Werkzeuge im C-Ökosystem, die davon ausgehen, dass "
"man eine Befehlszeile am ersten Leerzeichen aufteilen kann, um den Pfad zur "
"ausführbaren Compiler-Datei zu erhalten. Das ist bei der Verwendung von "
"``xcrun`` nicht der Fall."
#: ../../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 ""
"Um diese Probleme zu vermeiden, stellt Python Stubs für diese Werkzeuge "
"bereit. Diese Stubs sind Shell-Skript-Wrapper um die zugrunde liegenden "
"``xcrun``-Werkzeuge, die in einem ``bin``-Ordner zusammen mit dem "
"kompilierten iOS-Framework verteilt werden. Diese Skripte sind verschiebbar "
"und lösen sich stets zu den passenden lokalen Systempfaden auf. Indem diese "
"Skripte in den bin-Ordner aufgenommen werden, der ein Framework begleitet, "
"wird der Inhalt des ``sysconfig``-Moduls für Endnutzer nützlich, um ihre "
"eigenen Module zu kompilieren. Beim Kompilieren von Python-Modulen von "
"Drittanbietern für iOS solltest du sicherstellen, dass sich diese Stub-"
"Binärdateien in deinem Pfad befinden."
#: ../../using/ios.rst:143
msgid "Installing Python on iOS"
msgstr "Python unter iOS installieren"
#: ../../using/ios.rst:146
msgid "Tools for building iOS apps"
msgstr "Werkzeuge zum Erstellen von iOS-Apps"
#: ../../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 ""
"Der Build-Prozess für iOS erfordert die Verwendung von Apples Xcode-"
"Werkzeugen. Es wird dringend empfohlen, die aktuellste stabile Xcode-Version "
"zu verwenden. Dies erfordert in der Regel die Verwendung der neuesten (oder "
"zweit-neuesten) veröffentlichten macOS-Version, da Apple Xcode nicht für "
"ältere macOS-Versionen pflegt. Die Xcode Command Line Tools reichen für die "
"iOS-Entwicklung nicht aus. Du benötigst eine *vollständige* Xcode-"
"Installation."
#: ../../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 ""
"Wenn du deinen Code im iOS-Simulator ausführen möchtest, musst du außerdem "
"eine iOS Simulator Platform installieren. Beim ersten Start von Xcode "
"solltest du aufgefordert werden, eine iOS Simulator Platform auszuwählen. "
"Alternativ kannst du eine iOS Simulator Platform über den Reiter "
"\"Platforms\" im Xcode-Einstellungsfenster hinzufügen."
#: ../../using/ios.rst:163
msgid "Adding Python to an iOS project"
msgstr "Python zu einem iOS-Projekt hinzufügen"
#: ../../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 kann jedem iOS-Projekt hinzugefügt werden, sowohl mit Swift als auch "
"mit Objective C. Die folgenden Beispiele verwenden Objective C. Wenn du "
"Swift verwendest, könnte dir eine Bibliothek wie `PythonKit `__ hilfreich sein."
#: ../../using/ios.rst:170
msgid "To add Python to an iOS Xcode project:"
msgstr "Um Python zu einem iOS-Xcode-Projekt hinzuzufügen:"
#: ../../using/ios.rst:172
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 ""
"Baue oder beziehe ein Python-``XCFramework``. Wie du ein Python-"
"``XCFramework`` baust, steht in der Anleitung unter :source:`Platforms/Apple/"
"iOS/README.md` (in der CPython-Quelldistribution). Mindestens brauchst du "
"einen Build, der ``arm64-apple-ios`` unterstützt, dazu entweder ``arm64-"
"apple-ios-simulator`` oder ``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 ""
"Zieh das ``XCframework`` in dein iOS-Projekt. In der folgenden Anleitung "
"nehmen wir an, dass du das ``XCframework`` in die Wurzel deines Projekts "
"gelegt hast. Du kannst aber jeden anderen Ort verwenden und die Pfade "
"entsprechend anpassen."
#: ../../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 ""
"Füge deinen Anwendungscode als Ordner in dein Xcode-Projekt ein. In der "
"folgenden Anleitung nehmen wir an, dass dein eigener Code in einem Ordner "
"namens ``app`` in der Wurzel deines Projekts liegt. Du kannst jeden anderen "
"Ort verwenden und die Pfade entsprechend anpassen. Stelle sicher, dass "
"dieser Ordner dem Ziel deiner App zugeordnet ist."
#: ../../using/ios.rst:189
msgid ""
"Select the app target by selecting the root node of your Xcode project, then "
"the target name in the sidebar that appears."
msgstr ""
"Wähle das App-Ziel aus, indem du den Wurzelknoten deines Xcode-Projekts "
"anklickst und dann den Zielnamen in der erscheinenden Seitenleiste."
#: ../../using/ios.rst:192
msgid ""
"In the \"General\" settings, under \"Frameworks, Libraries and Embedded "
"Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected."
msgstr ""
"Füge in den Einstellungen unter „General“ bei „Frameworks, Libraries and "
"Embedded Content“ das ``Python.xcframework`` hinzu, mit „Embed & Sign“ "
"ausgewählt."
#: ../../using/ios.rst:195
msgid "In the \"Build Settings\" tab, modify the following:"
msgstr "Ändere im Reiter „Build Settings“ Folgendes:"
#: ../../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 "Pfade suchen"
#: ../../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"
#: ../../using/ios.rst:211
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 ""
"Füge einen Build-Schritt hinzu, der die Python-Standardbibliothek und deine "
"eigenen binären Python-Abhängigkeiten verarbeitet. Füge im Reiter „Build "
"Phases“ einen neuen Build-Schritt „Run Script“ ein, und zwar *vor* dem "
"Schritt „Embed Frameworks“, aber *nach* dem Schritt „Copy Bundle Resources“. "
"Nenne den Schritt „Process Python libraries“, schalte das Kontrollkästchen "
"„Based on dependency analysis“ ab und setze den Inhalt des Skripts auf:"
#: ../../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 ""
"Wenn du dein XCframework an einem anderen Ort als der Wurzel deines Projekts "
"abgelegt hast, passe den Pfad im ersten Argument an."
#: ../../using/ios.rst:227
msgid ""
"Add Objective C code to initialize and use a Python interpreter in embedded "
"mode. You should ensure that:"
msgstr ""
"Füge Objective-C-Code hinzu, um einen Python-Interpreter im eingebetteten "
"Modus zu starten und zu verwenden. Du solltest sicherstellen, dass:"
#: ../../using/ios.rst:230
msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;"
msgstr ""
"der UTF-8-Modus (:c:member:`PyPreConfig.utf8_mode`) *eingeschaltet* ist;"
#: ../../using/ios.rst:231
msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;"
msgstr ""
"die gepufferte Standard-Ein-/Ausgabe (:c:member:`PyConfig.buffered_stdio`) "
"*abgeschaltet* ist;"
#: ../../using/ios.rst:232
msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;"
msgstr ""
"das Schreiben von Bytecode (:c:member:`PyConfig.write_bytecode`) "
"*abgeschaltet* ist;"
#: ../../using/ios.rst:233
msgid ""
"Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;"
msgstr ""
"die Signalbehandlungen (:c:member:`PyConfig.install_signal_handlers`) "
"*eingeschaltet* sind;"
#: ../../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 ""
"die Systemprotokollierung (:c:member:`PyConfig.use_system_logger`) "
"*eingeschaltet* ist (optional, aber dringend empfohlen, standardmäßig "
"eingeschaltet);"
#: ../../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` für den Interpreter auf den Unterordner ``python`` des "
"Bündels deiner App zeigt, und"
#: ../../using/ios.rst:238
msgid "The :envvar:`PYTHONPATH` for the interpreter includes:"
msgstr "der :envvar:`PYTHONPATH` für den Interpreter Folgendes enthält:"
#: ../../using/ios.rst:240
msgid "the ``python/lib/python3.X`` subfolder of your app's bundle,"
msgstr "den Unterordner ``python/lib/python3.X`` des Bündels deiner App,"
#: ../../using/ios.rst:241
msgid ""
"the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and"
msgstr ""
"den Unterordner ``python/lib/python3.X/lib-dynload`` des Bündels deiner App, "
"und"
#: ../../using/ios.rst:242
msgid "the ``app`` subfolder of your app's bundle"
msgstr "den Unterordner ``app`` des Bündels deiner App"
#: ../../using/ios.rst:244
msgid ""
"Your app's bundle location can be determined using ``[[NSBundle mainBundle] "
"resourcePath]``."
msgstr ""
"Den Ort des Bündels deiner App kannst du über ``[[NSBundle mainBundle] "
"resourcePath]`` ermitteln."
#: ../../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 ""
"Die Schritte 7 und 8 dieser Anleitung setzen voraus, dass du einen einzigen "
"Ordner mit reinem Python-Anwendungscode namens ``app`` hast. Wenn deine App "
"binäre Module von Dritten enthält, sind zusätzliche Schritte nötig:"
#: ../../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 ""
"Du musst sicherstellen, dass alle Ordner mit Binärdateien von Dritten "
"entweder dem App-Ziel zugeordnet oder in Schritt 7 ausdrücklich mitkopiert "
"werden. Schritt 7 sollte außerdem alle Binärdateien entfernen, die für die "
"Zielplattform des jeweiligen Builds nicht passen (also etwa "
"Gerätebinärdateien löschen, wenn du eine App für den Simulator baust)."
#: ../../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 ""
"Wenn du einen eigenen Ordner für Pakete von Dritten verwendest, stelle "
"sicher, dass dieser Ordner am Ende des Aufrufs von ``install_python`` in "
"Schritt 7 und in der :envvar:`PYTHONPATH`-Konfiguration in Schritt 8 ergänzt "
"wird."
#: ../../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 ""
"Wenn einer der Ordner mit Paketen von Dritten ``.pth``-Dateien enthält, "
"solltest du diesen Ordner als *Site-Verzeichnis* hinzufügen (mit :meth:`site."
"addsitedir`), statt ihn direkt zu :envvar:`PYTHONPATH` oder :attr:`sys.path` "
"hinzuzufügen."
#: ../../using/ios.rst:267
msgid "Testing a Python package"
msgstr "Ein Python-Paket testen"
#: ../../using/ios.rst:269
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 ""
"Der CPython-Quellbaum enthält :source:`ein Testbed-Projekt `, mit dem die CPython-Testsammlung im iOS-Simulator ausgeführt "
"wird. Dieses Testbed lässt sich auch als Testbed-Projekt verwenden, um die "
"Testsammlung deiner eigenen Python-Bibliothek unter iOS auszuführen."
#: ../../using/ios.rst:273
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 ""
"Nachdem du ein iOS-XCFramework gebaut oder bezogen hast (Einzelheiten unter :"
"source:`Platforms/Apple/iOS/README.md`), erstelle einen Klon des Python-"
"Testbed-Projekts für iOS. Wenn du das Build-Skript ``Platforms/Apple`` "
"verwendet hast, um das XCframework zu bauen, kannst du Folgendes ausführen:"
#: ../../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 "Oder, wenn du dein eigenes XCframework beschafft hast, mit:"
#: ../../using/ios.rst:283
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 ""
"Alle mit dem Schalter ``--app`` angegebenen Ordner werden in das geklonte "
"Testbed-Projekt kopiert. Das entstehende Testbed liegt im Ordner ``app-"
"testbed``. In diesem Beispiel wären ``module1`` und ``module2`` zur Laufzeit "
"importierbare Module. Hat dein Projekt weitere Abhängigkeiten, lassen sich "
"diese in den Ordner ``app-testbed/Testbed/app_packages`` installieren (mit "
"``pip install --target app-testbed/Testbed/app_packages`` oder Ähnlichem)."
#: ../../using/ios.rst:294
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 ""
"Anschließend kannst du den Ordner ``app-testbed`` verwenden, um die "
"Testsammlung deiner App auszuführen. Wenn zum Beispiel ``module1.tests`` der "
"Einsprungpunkt deiner Testsammlung war, könntest du Folgendes ausführen:"
#: ../../using/ios.rst:298
msgid "$ python app-testbed run -- module1.tests"
msgstr "$ python app-testbed run -- module1.tests"
#: ../../using/ios.rst:302
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 ""
"Das entspricht dem Aufruf von ``python -m module1.tests`` auf einem Desktop-"
"Python-Build. Alle Argumente nach dem ``--`` werden an das Testbed "
"weitergegeben, als wären sie Argumente von ``python -m`` auf einem Desktop-"
"Rechner."
#: ../../using/ios.rst:306
msgid "You can also open the testbed project in Xcode by running:"
msgstr "Du kannst das Testbed-Projekt auch in Xcode öffnen:"
#: ../../using/ios.rst:308
msgid "$ open app-testbed/iOSTestbed.xcodeproj"
msgstr "$ open app-testbed/iOSTestbed.xcodeproj"
#: ../../using/ios.rst:312
msgid "This will allow you to use the full Xcode suite of tools for debugging."
msgstr ""
"Damit stehen dir die vollständigen Xcode-Werkzeuge zur Fehlersuche zur "
"Verfügung."
#: ../../using/ios.rst:314
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 ""
"Die Argumente, mit denen die Testsammlung ausgeführt wird, sind Teil des "
"Testplans. Um den Testplan zu ändern, wähle den Testplan-Knoten im "
"Projektbaum (er sollte das erste Kind des Wurzelknotens sein) und dann den "
"Reiter „Configurations“. Ändere den Wert „Arguments Passed On Launch“, um "
"die Testargumente anzupassen."
#: ../../using/ios.rst:320
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 ""
"Der Testplan schaltet außerdem paralleles Testen ab und gibt die Verwendung "
"der Datei ``Testbed.lldbinit`` für die Konfiguration des Debuggers vor. Die "
"Standardkonfiguration des Debuggers schaltet automatische Haltepunkte bei "
"den Signalen ``SIGINT``, ``SIGUSR1``, ``SIGUSR2`` und ``SIGXFSZ`` ab."
#: ../../using/ios.rst:326
msgid "App Store Compliance"
msgstr "Vorgaben des App Store erfüllen"
#: ../../using/ios.rst:328
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 ""
"Der einzige Weg, Apps an fremde iOS-Geräte zu verteilen, ist die Einreichung "
"im iOS App Store. Zur Verteilung eingereichte Apps müssen Apples App-"
"Prüfverfahren durchlaufen. Dieses Verfahren umfasst eine Reihe automatischer "
"Prüfregeln, die das eingereichte Anwendungsbündel auf bedenklichen Code "
"untersuchen. Es gibt einige Schritte, die nötig sind, damit deine App diese "
"Prüfungen besteht."
#: ../../using/ios.rst:336
msgid "Incompatible code in the standard library"
msgstr "Unverträglicher Code in der Standardbibliothek"
#: ../../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 ""
"Die Python-Standardbibliothek enthält Code, von dem bekannt ist, dass er "
"gegen diese automatischen Regeln verstößt. Diese Verstöße scheinen zwar "
"Fehlalarme zu sein, Apples Prüfregeln lassen sich aber nicht anfechten. "
"Deshalb ist es nötig, die Python-Standardbibliothek zu verändern, damit eine "
"App die Prüfung des App Store besteht."
#: ../../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 ""
"Der Python-Quellbaum enthält :source:`eine Patch-Datei `, die allen Code entfernt, von dem bekannt ist, dass "
"er im Prüfverfahren des App Store Schwierigkeiten macht. Dieser Patch wird "
"beim Bauen für iOS automatisch angewandt."
#: ../../using/ios.rst:349
msgid "Privacy manifests"
msgstr "Datenschutzmanifeste"
#: ../../using/ios.rst:351
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 ""
"Im April 2025 hat Apple die Anforderung eingeführt, dass `bestimmte "
"Bibliotheken von Dritten ein Privacy Manifest bereitstellen müssen `__. Wenn du also "
"ein binäres Modul hast, das eine der betroffenen Bibliotheken verwendet, "
"musst du für diese Bibliothek eine Datei ``.xcprivacy`` bereitstellen. "
"OpenSSL ist eine der betroffenen Bibliotheken, es gibt aber weitere."
#: ../../using/ios.rst:358
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 ""
"Wenn du ein binäres Modul namens ``mymodule.so`` erzeugst und das in Schritt "
"7 beschriebene Xcode-Build-Skript verwendest, kannst du eine Datei "
"``mymodule.xcprivacy`` neben ``mymodule.so`` legen — das Datenschutzmanifest "
"wird dann beim Umwandeln des binären Moduls in ein Framework an den "
"erforderlichen Ort installiert."