@@ -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