@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version : Python 3.14\n "
1313"Report-Msgid-Bugs-To : \n "
14- "POT-Creation-Date : 2025-09-16 17:23 +0000\n "
14+ "POT-Creation-Date : 2025-09-29 14:15 +0000\n "
1515"PO-Revision-Date : 2025-09-16 00:02+0000\n "
1616"Last-Translator : python-doc bot, 2025\n "
1717"Language-Team : Indonesian (https://app.transifex.com/python-doc/teams/5390/ "
@@ -240,9 +240,9 @@ msgstr ""
240240
241241msgid ""
242242"Build or obtain a Python ``XCFramework``. See the instructions in :source:"
243- "`iOS/README.rst ` (in the CPython source distribution) for details on how to "
244- "build a Python ``XCFramework``. At a minimum, you will need a build that "
245- "supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-"
243+ "`Apple/ iOS/README.md ` (in the CPython source distribution) for details on "
244+ "how to build a Python ``XCFramework``. At a minimum, you will need a build "
245+ "that supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-"
246246"simulator`` or ``x86_64-apple-ios-simulator``."
247247msgstr ""
248248
@@ -253,11 +253,6 @@ msgid ""
253253"adjusting paths as needed."
254254msgstr ""
255255
256- msgid ""
257- "Drag the ``iOS/Resources/dylib-Info-template.plist`` file into your project, "
258- "and ensure it is associated with the app target."
259- msgstr ""
260-
261256msgid ""
262257"Add your application code as a folder in your Xcode project. In the "
263258"following instructions, we'll assume that your user code is in a folder "
@@ -305,103 +300,23 @@ msgid "Quoted Include In Framework Header: No"
305300msgstr ""
306301
307302msgid ""
308- "Add a build step that copies the Python standard library into your app. In "
309- "the \" Build Phases\" tab, add a new \" Run Script\" build step *before* the "
310- "\" Embed Frameworks\" step, but *after* the \" Copy Bundle Resources\" step. "
311- "Name the step \" Install Target Specific Python Standard Library\" , disable "
312- "the \" Based on dependency analysis\" checkbox, and set the script content to:"
303+ "Add a build step that processes the Python standard library, and your own "
304+ "Python binary dependencies. In the \" Build Phases\" tab, add a new \" Run "
305+ "Script\" build step *before* the \" Embed Frameworks\" step, but *after* the "
306+ "\" Copy Bundle Resources\" step. Name the step \" Process Python libraries\" , "
307+ "disable the \" Based on dependency analysis\" checkbox, and set the script "
308+ "content to:"
313309msgstr ""
314310
315311msgid ""
316312"set -e\n"
317- "\n"
318- "mkdir -p \" $CODESIGNING_FOLDER_PATH/python/lib\" \n"
319- "if [ \" $EFFECTIVE_PLATFORM_NAME\" = \" -iphonesimulator\" ]; then\n"
320- " echo \" Installing Python modules for iOS Simulator\" \n"
321- " rsync -au --delete \" $PROJECT_DIR/Python.xcframework/ios-arm64_x86_64-"
322- "simulator/lib/\" \" $CODESIGNING_FOLDER_PATH/python/lib/\" \n"
323- "else\n"
324- " echo \" Installing Python modules for iOS Device\" \n"
325- " rsync -au --delete \" $PROJECT_DIR/Python.xcframework/ios-arm64/lib/\" "
326- "\" $CODESIGNING_FOLDER_PATH/python/lib/\" \n"
327- "fi"
328- msgstr ""
329-
330- msgid ""
331- "Note that the name of the simulator \" slice\" in the XCframework may be "
332- "different, depending the CPU architectures your ``XCFramework`` supports."
333- msgstr ""
334-
335- msgid ""
336- "Add a second build step that processes the binary extension modules in the "
337- "standard library into \" Framework\" format. Add a \" Run Script\" build step "
338- "*directly after* the one you added in step 8, named \" Prepare Python Binary "
339- "Modules\" . It should also have \" Based on dependency analysis\" unchecked, "
340- "with the following script content:"
313+ "source $PROJECT_DIR/Python.xcframework/build/build_utils.sh\n"
314+ "install_python Python.xcframework app"
341315msgstr ""
342316
343317msgid ""
344- "set -e\n"
345- "\n"
346- "install_dylib () {\n"
347- " INSTALL_BASE=$1\n"
348- " FULL_EXT=$2\n"
349- "\n"
350- " # The name of the extension file\n"
351- " EXT=$(basename \" $FULL_EXT\" )\n"
352- " # The location of the extension file, relative to the bundle\n"
353- " RELATIVE_EXT=${FULL_EXT#$CODESIGNING_FOLDER_PATH/}\n"
354- " # The path to the extension file, relative to the install base\n"
355- " PYTHON_EXT=${RELATIVE_EXT/$INSTALL_BASE/}\n"
356- " # The full dotted name of the extension module, constructed from the "
357- "file path.\n"
358- " FULL_MODULE_NAME=$(echo $PYTHON_EXT | cut -d \" .\" -f 1 | tr \" /\" \" ."
359- "\" );\n"
360- " # A bundle identifier; not actually used, but required by Xcode "
361- "framework packaging\n"
362- " FRAMEWORK_BUNDLE_ID=$(echo $PRODUCT_BUNDLE_IDENTIFIER.$FULL_MODULE_NAME "
363- "| tr \" _\" \" -\" )\n"
364- " # The name of the framework folder.\n"
365- " FRAMEWORK_FOLDER=\" Frameworks/$FULL_MODULE_NAME.framework\" \n"
366- "\n"
367- " # If the framework folder doesn't exist, create it.\n"
368- " if [ ! -d \" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\" ]; then\n"
369- " echo \" Creating framework for $RELATIVE_EXT\" \n"
370- " mkdir -p \" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\" \n"
371- " cp \" $CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\" "
372- "\" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\" \n"
373- " plutil -replace CFBundleExecutable -string \" $FULL_MODULE_NAME\" "
374- "\" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\" \n"
375- " plutil -replace CFBundleIdentifier -string \" $FRAMEWORK_BUNDLE_ID\" "
376- "\" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\" \n"
377- " fi\n"
378- "\n"
379- " echo \" Installing binary for $FRAMEWORK_FOLDER/$FULL_MODULE_NAME\" \n"
380- " mv \" $FULL_EXT\" \" $CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/"
381- "$FULL_MODULE_NAME\" \n"
382- " # Create a placeholder .fwork file where the .so was\n"
383- " echo \" $FRAMEWORK_FOLDER/$FULL_MODULE_NAME\" > ${FULL_EXT%.so}.fwork\n"
384- " # Create a back reference to the .so file location in the framework\n"
385- " echo \" ${RELATIVE_EXT%.so}.fwork\" > \" $CODESIGNING_FOLDER_PATH/"
386- "$FRAMEWORK_FOLDER/$FULL_MODULE_NAME.origin\" \n"
387- " }\n"
388- "\n"
389- " PYTHON_VER=$(ls -1 \" $CODESIGNING_FOLDER_PATH/python/lib\" )\n"
390- " echo \" Install Python $PYTHON_VER standard library extension modules...\" \n"
391- " find \" $CODESIGNING_FOLDER_PATH/python/lib/$PYTHON_VER/lib-dynload\" -name "
392- "\" *.so\" | while read FULL_EXT; do\n"
393- " install_dylib python/lib/$PYTHON_VER/lib-dynload/ \" $FULL_EXT\" \n"
394- " done\n"
395- "\n"
396- " # Clean up dylib template\n"
397- " rm -f \" $CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\" \n"
398- "\n"
399- " echo \" Signing frameworks as $EXPANDED_CODE_SIGN_IDENTITY_NAME "
400- "($EXPANDED_CODE_SIGN_IDENTITY)...\" \n"
401- " find \" $CODESIGNING_FOLDER_PATH/Frameworks\" -name \" *.framework\" -exec /"
402- "usr/bin/codesign --force --sign \" $EXPANDED_CODE_SIGN_IDENTITY\" "
403- "${OTHER_CODE_SIGN_FLAGS:-} -o runtime --timestamp=none --preserve-"
404- "metadata=identifier,entitlements,flags --generate-entitlement-der \" {}\" \\ ;"
318+ "If you have placed your XCframework somewhere other than the root of your "
319+ "project, modify the path to the first argument."
405320msgstr ""
406321
407322msgid ""
@@ -451,29 +366,23 @@ msgid ""
451366msgstr ""
452367
453368msgid ""
454- "Steps 8, 9 and 10 of these instructions assume that you have a single folder "
455- "of pure Python application code, named ``app``. If you have third-party "
456- "binary modules in your app, some additional steps will be required:"
369+ "Steps 7 and 8 of these instructions assume that you have a single folder of "
370+ "pure Python application code, named ``app``. If you have third-party binary "
371+ "modules in your app, some additional steps will be required:"
457372msgstr ""
458373
459374msgid ""
460375"You need to ensure that any folders containing third-party binaries are "
461- "either associated with the app target, or copied in as part of step 8. Step "
462- "8 should also purge any binaries that are not appropriate for the platform a "
463- "specific build is targeting (i.e., delete any device binaries if you're "
464- "building an app targeting the simulator)."
465- msgstr ""
466-
467- msgid ""
468- "Any folders that contain third-party binaries must be processed into "
469- "framework form by step 9. The invocation of ``install_dylib`` that processes "
470- "the ``lib-dynload`` folder can be copied and adapted for this purpose."
376+ "either associated with the app target, or are explicitly copied as part of "
377+ "step 7. Step 7 should also purge any binaries that are not appropriate for "
378+ "the platform a specific build is targeting (i.e., delete any device binaries "
379+ "if you're building an app targeting the simulator)."
471380msgstr ""
472381
473382msgid ""
474383"If you're using a separate folder for third-party packages, ensure that "
475- "folder is included as part of the :envvar:`PYTHONPATH` configuration in step "
476- "10 ."
384+ "folder is added to the end of the call to ``install_python`` in step 7, and "
385+ "as part of the :envvar:`PYTHONPATH` configuration in step 8 ."
477386msgstr ""
478387
479388msgid ""
@@ -487,31 +396,38 @@ msgid "Testing a Python package"
487396msgstr ""
488397
489398msgid ""
490- "The CPython source tree contains :source:`a testbed project <iOS/testbed>` "
491- "that is used to run the CPython test suite on the iOS simulator. This "
492- "testbed can also be used as a testbed project for running your Python "
399+ "The CPython source tree contains :source:`a testbed project <Apple/ iOS/"
400+ "testbed>` that is used to run the CPython test suite on the iOS simulator. "
401+ "This testbed can also be used as a testbed project for running your Python "
493402"library's test suite on iOS."
494403msgstr ""
495404
496405msgid ""
497- "After building or obtaining an iOS XCFramework (See :source:`iOS/README.rst` "
498- "for details), create a clone of the Python iOS testbed project by running:"
406+ "After building or obtaining an iOS XCFramework (see :source:`Apple/iOS/"
407+ "README.md` for details), create a clone of the Python iOS testbed project. "
408+ "If you used the ``Apple`` build script to build the XCframework, you can run:"
409+ msgstr ""
410+
411+ msgid ""
412+ "$ python cross-build/iOS/testbed clone --app <path/to/module1> --app <path/"
413+ "to/module2> app-testbed"
414+ msgstr ""
415+
416+ msgid "Or, if you've sourced your own XCframework, by running:"
499417msgstr ""
500418
501419msgid ""
502- "$ python iOS /testbed clone --framework <path/to/Python.xcframework> --app "
503- "<path/to/module1> --app <path/to/module2> app-testbed"
420+ "$ python Apple /testbed clone --platform iOS -- framework <path/to/Python."
421+ "xcframework> --app <path/to/module1> --app <path/to/module2> app-testbed"
504422msgstr ""
505423
506424msgid ""
507- "You will need to modify the ``iOS/testbed`` reference to point to that "
508- "directory in the CPython source tree; any folders specified with the ``--"
509- "app`` flag will be copied into the cloned testbed project. The resulting "
510- "testbed will be created in the ``app-testbed`` folder. In this example, the "
511- "``module1`` and ``module2`` would be importable modules at runtime. If your "
512- "project has additional dependencies, they can be installed into the ``app-"
513- "testbed/iOSTestbed/app_packages`` folder (using ``pip install --target app-"
514- "testbed/iOSTestbed/app_packages`` or similar)."
425+ "Any folders specified with the ``--app`` flag will be copied into the cloned "
426+ "testbed project. The resulting testbed will be created in the ``app-"
427+ "testbed`` folder. In this example, the ``module1`` and ``module2`` would be "
428+ "importable modules at runtime. If your project has additional dependencies, "
429+ "they can be installed into the ``app-testbed/Testbed/app_packages`` folder "
430+ "(using ``pip install --target app-testbed/Testbed/app_packages`` or similar)."
515431msgstr ""
516432
517433msgid ""
@@ -548,8 +464,8 @@ msgstr ""
548464
549465msgid ""
550466"The test plan also disables parallel testing, and specifies the use of the "
551- "``iOSTestbed .lldbinit`` file for providing configuration of the debugger. "
552- "The default debugger configuration disables automatic breakpoints on the "
467+ "``Testbed .lldbinit`` file for providing configuration of the debugger. The "
468+ "default debugger configuration disables automatic breakpoints on the "
553469"``SIGINT``, ``SIGUSR1``, ``SIGUSR2``, and ``SIGXFSZ`` signals."
554470msgstr ""
555471
0 commit comments